我是新手Spring Data JPA,想知道如何编写以下子查询:
select o from Owner o where o.ownerId IN (Select c.ownerId from Cars c)
Run Code Online (Sandbox Code Playgroud)
这Owner是一个实体类和Cars另一个实体类,我将拥有两个存储库,一个 asOwnerRepository和另一个 as CarRepository,都扩展JPARepository.
使用IN运算符编写此类自定义查询所需的帮助。
提前致谢。
如何使用 Predicate BooleanExpression 对多对多关系进行内连接?
我有 2 个实体
public class A {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@ManyToMany(fetch = FetchType.LAZY,
cascade = { CascadeType.DETACH, CascadeType.MERGE,
CascadeType.REFRESH, CascadeType.PERSIST})
@JoinTable(name = "a_b_maps",
joinColumns = @JoinColumn(name = "a_id", nullable =
false,referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "b_id", nullable = false,
referencedColumnName = "id")
)
private Set<B> listOfB = new HashSet<B>();
}
public class B {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@ManyToMany(fetch = FetchType.LAZY,
cascade = { CascadeType.DETACH, CascadeType.MERGE,
CascadeType.REFRESH, …Run Code Online (Sandbox Code Playgroud)