以下是我的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;
}
非常感谢任何指针
答案 0 :(得分:1)
您可以使用命名查询
@NamedQueries({
@NamedQuery(name = "<query-name>", query = "SELECT a FROM Alpha a WHERE a.beta is not null :})