我在jpa中有这样的查询(没有工作):
entityManager.createQuery("select new pl.proama.wd.model.PolicyDTO2(pol.policyID) from Policy pol LEFT JOIN pol.claim c WHERE c.claimID=:id").setParameter("id", "20700003915").getResultList();
和数据库表如下:
政策表 - >(Policy_id(pk),其他列)
声明表 - > (Claim_id(pk),Policy_id,其他列)
一项政策可以加入多项声明
普通的plsql查询(工作):
Select pol.POLICY_ID
from Policy pol LEFT JOIN CLAIM c
on(c.POLICY_ID=pol.POLICY_ID)
WHERE c.CLAIM_ID='20700003915';
我认为我在加入Claim class的类策略中犯了错误。
@OneToOne
@JoinColumn(name = "POLICY_ID")
private Claim claim;
我做错了什么?