[英]Fetch content by HQL query
所以這是本機查詢,如:
select p.my_t_id from tl t
inner join p p
on p.id=t.p
where t.id=1
實體結構
@Entity
class Tl{
private Long p;
}
@Entity
class P{
Long id;
MyObjClass obj;
}
@Entity
class MyObjClass{
Long myTId;
}
我無法弄清楚它的JPA
查詢..
由於 Tl 和 P 沒有關系,因此您必須使用笛卡爾連接。 請參閱 JPA 規范中的第 4.4.5 節: http : //download.oracle.com/otn-pub/jcp/persistence-2.0-fr-eval-oth-JSpec/persistence-2_0-final-spec.pdf
不過,我無法真正為您翻譯您的本機查詢,因為您在 SQL 中引用了不在實體中的 Tl 和 P 上的 id 列。 但是閱讀規范,這應該會讓你到達你想去的地方。
正如我在評論中提到的,您必須擁有有意義的實體模型和關系。
像這樣的東西(我厭倦了毫無意義的名字,你能給出更有意義的東西嗎?)
class Tl {
private Long id; // ID of Tl itself
private P p;
}
class P {
private Long id;
private MyObjClass objClass;
}
class MyObjClass {
private id; // map to column myTId
}
HQL 看起來像
select tl.p.objClass.id from Tl tl
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.