问题描述
这是我目前的模特
@Entity
public class A {
@Id
private Long id;
String name;
...
@Entity
public class B {
@Id
private Long id;
@ManyToOne()
@JoinColumn(name = "a_id")
private A a;
@ManyToOne()
@JoinColumn(name = "c_id")
private C c;
...
@Entity
public class C {
@Id
private Long id;
private String status;
我想要一个类别A的列表,其中类别C的状态为“活动” 使用带有显式JOIN的Criteria API 作为下面的示例,并使用 IN
Subquery<B> subQB = query.subquery(B.class);
Root<B> rootB = subQB.from(B.class);
subQB.select(rootB.get("c").get("id"))
.where(builder.equal(rootB.get("c").get("status"),"ACTIVE"));
predicates.add(root.get("id").in(subQB)); // root is class A
感谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)