domain
Caser.java
//一个案卷结案后归档,一对一
@OneToOne
@JoinColumn(name="archive_no" )
private Archive archive;
Archive.java
//一个案卷结案后归档,一对一
@OneToOne(mappedBy = "archive")
@JsonIgnore
private Caser caser;
即在caser表里有archive
1、查询caser中archive为空
criteria = criteria.add(Property.forName("caser.archive").isNull());
2、查询caser中achive存在且查询出数据
criteria.add(Property.forName("caser.archive").isNotNull());
criteria = criteria.createAlias("archive", "a");
criteria = criteria.setFetchMode("archive", FetchMode.EAGER);//通过外连接抓取archive类