有两个实体类。
@Entity
class X {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(nullable = false, unique = true)
Long id;
@Column
private String title;
}
@Entity
class Y {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(nullable = false, unique = true)
Long id;
@Column
private String text;
@Column(name = "x_id")
private Long x;
}
目标是使用存储库和规范获取复杂的查询。
查询应获取类似于以下本机SQL查询的数据:
select x.id, x.title, y.id, y.text
from x left join y on x.id = y.x_id
很明显,可以使用CriteriaQuery Tuple完成。
但是,如何使用存储库和规范来做到这一点?