簡體   English   中英

在OneToMany關系上進行jpa jpql查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM