2014-05-14 94 views
0

我有以下實體:從相關實體中選擇屬性在HQL查詢

@Entity 
class A { 
    @Id 
    @GeneratedValue(generator = "system-uuid") 
    @GenericGenerator(name = "system-uuid", strategy = "uuid2") 
    String id; 
     //some field   

    @ManyToMany 
    Set<B> other; 
} 

@Entity 
class B { 
    @Id 
    @GeneratedValue(generator = "system-uuid") 
    @GenericGenerator(name = "system-uuid", strategy = "uuid2") 
    String id; 
    //some field 
} 

我想創建hql查詢該列表B中的ids包含在Set<B>A實體。

Somethig像(不正確):

select a.other.id from A as a where a.id = :pid 
+0

什麼拋出的異常和你是如何從休眠調用它。另見http://stackoverflow.com/questions/11807698/how-to-retrieve-only-certain-fields-of-an-entity-in-jpql-or-hql-what-is-the-equ –

回答

0

嘗試是這樣的:

select a.other.id from A a join a.other o where a.id = :pid 
+1

你有沒有試過了嗎?我不確定,但我認爲*你應該在投影中使用別名(所以'select o.id ...')。 – mabi

+0

@ Snorky35它不起作用。 – user902691

+0

沒有沒有測試過,這是我以爲我記得的東西,對不起。 – Snorky35