Hibernate @where注释:@OnetoOne关联反面的属性用法。 (的mappedBy)

时间:2012-10-26 18:18:50

标签: hibernate where-clause

以下是我的Alpha和Beta类。 Alpha与Beta有一对一的关系

我想只获取那些拥有Beta的Alpha记录。

我无法为Alpha创建where子句注释,这将帮助我实现这一目标。

是否有更好的方法来安排注释,因为我想在获取alpha对象时避免代码中的任何其他查询。

/** CLass Alpha*/
@Entity
@Where(clause x =0  and y =0  and  ????????)
class Alpha {    

    @Column(name ="X")
    int x;

    @Column(name ="Y")
    int Y;

    @OneToOne(mappedBy = "alpha")
    Beta beta;
}

/** Class Beta*/
@Entity
class Beta {    
    @OneToOne
    @JoinColumn(name = "ALPHA_REF")
    Alpha alpha;    
}

非常感谢任何指针

1 个答案:

答案 0 :(得分:1)

您可以使用命名查询

@NamedQueries({
@NamedQuery(name = "<query-name>", query = "SELECT a FROM Alpha a WHERE a.beta is not null :})