[英]jpa jpql Query on OneToMany relation
我有兩個實體對象
對象1
@Entity
MyInfo
String key;
String eMail;
String status;
@OneToMany(mappedBy="myInfo")
private List<MyInfoRequest> myInfoRequests;
對象2
@Entity
MyInfoRequest
String key;
String dataA;
String dataB;
String dataC;
@ManyToOne
@JoinColumn(name="KEY")
MyInfo myInfo;
我嘗試使用EntityManager創建查詢(JPQL)
會給我所有具有狀態=“ 1”和myInfoRequest.dataA =“ BIG”的MyInfo但我得到的是所有具有相同信息的myInfoRequest.dataA =“ BIG”和MyInfo(我得到的結果當然是MyInfo對象列表)
這是我嘗試的
SELECT x from MyInfo x,MyInfoRequest b where b.dataA=:dataA AND x.status=:status
我正在使用jpa 1.0。 和OpenJPA 1.2.1
請嘗試以下查詢:
...
String qlString = "SELECT x "
+ "FROM MyInfo x JOIN x.myInfoRequests b "
+ "WHERE x.status = :status AND b.dataA = :dataA";
List<MyInfo> result = em.createQuery(qlString)
.setParameter("status", "1")
.setParameter("dataA", "BIG")
.getResultList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.