我必须连接两个表,并使用带有规范和JPA的Where过滤结果。但是我对它不是很熟悉。
表格例如:
public class A {
private Long id;
private Long secondId;
...
}
public class daughterA {
@JoinColumn (name = "id")
private Long idA;
...
}
,WHERE将应用于secondId。
谢谢大家的帮助,对于任何不准确之处,我深表歉意,我是从这些技术开始的。
答案 0 :(得分:0)
首先,您的Join似乎是一对多的Join,因此应按原样进行:
public class A{
@Id
private Long id;
private Long secondId;
@OneToMany(mappedBy="idA")
private Set<daughterA > daughters;
...
}
public class daughterA {
@ManyToOne
@JoinColumn (name = "id")
private A idA;
...
}
和where子句:
TypedQuery<Country> query =
em.createQuery("SELECT d FROM daughterA d WHERE d.idA.secondId = :secondId ", Country.class);
A results = query.setParameter("secondId",sencondId).getSingleResult();