Java hibernate使用hibernate session从where子句获取OneToOne关系中的实体

时间:2015-08-20 15:23:43

标签: java mysql hibernate jpa

我有一个带有OneToOne注释的java hibernate实体,我的目标是通过其他hibernate实体获取实体。

@Entity
public class Pick {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int pid;

@OneToOne
private Match_soccer match;

@OneToOne
private Algo1 algo;

@Column(length = 100)
private String pick;

@Column(length = 5)
private double plimit;
.....

匹配实体:

@Entity
public class Match_soccer extends Match{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int mid;

private String status;
...

我的目标是使用hibernate会话选择match.status == null。使用session.criteria可以得到我想要的东西吗?

1 个答案:

答案 0 :(得分:1)

您可以按如下方式编写查询:

Query query = session.createQuery("from Pick as p JOIN fetch p.match where p.match.status is null");
List list = query.list();

此查询将导致所有Picks的match.status为null。