簡體   English   中英

JPA父母子女關系

[英]JPA parent child relationship

我有一個場景,我需要在一個案例中加載所有子值,在另一個案例中加載一些特定的子值。 我在兩種情況下都使用單個bean,並使用命名查詢編寫查詢。

@namedqueries{
@namedQuery(name="query1") = "select parent from Parent parent",
@namedQuery(name="query2") = "select parent from Parent parent",
}
Class Parent {

@manytomany
@join mentioned my join condition here // 
 List<Child> child ; 

}

Class Child 
{ 
 String A;
 String B;
 String C;

 @manytomany(mappedby = "child")
 List<parent> parent ; 
 }

現在在我的查詢2中我只需要加載字符串A而不是字符串B和字符串C. 我試過用

"select parent.child .A from Parent parent" as Query 2 

但得到以下錯誤

 "Attempting to navigate to relation field via multi-valued association and
 jpql doesnt  allow traversal through multi valued relationship. Try join instead"

所以關於如何繼續這個的任何建議..

1) Should I have to create a new bean for each Query
2) Or Can we control the child object parameters in specific named queries

當您說select parent.child並且您不能說select parent.child.A時,您正在訪問集合。根據HQL標准,這是錯誤的。 您需要使用join執行此操作,因為錯誤消息建議:

select c.A from parent as p join p.child as c

然后不,您不必為每個查詢創建一個新bean。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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