簡體   English   中英

通過 HQL 查詢獲取內容

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

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