2012-12-05 10 views
0

我有一個實體A和一個實體B. 實體B是三個。與實體A總是隻有一個實體鏈接B.如何使用註釋在Hibernate上映射a與具有特定值的其他字段一起使用?

下面表示這種關係的樹:

A1 
+-B1 
+-B2 
+-B3 
| +-B4 
| 
+-B5 
+-B6 
    +-B7 
    +-B8 

這裏是數據,因爲它存儲在數據庫中表示實體B上:

 
# parent_id entity_a_id name 
1 null   1    B1 
2 1   1    B2 
3 1   1    B3 
4 3   1    B4 
5 1   1    B5 
6 1   1    B6 
7 6   1    B7 
8 7   1    B8 

我要地圖上的實體A,以使根實體B時,它意味着,我想要把實體B其中entity_a_id相同的電流(可能的mappedBy)和PARENT_ID爲空。 直到現在我還沒有找到如何將自定義查詢添加到關係(parent_id爲空)。可能嗎?

回答

0

如果我正確理解了需求,您希望限制關係字段僅包含基於標準的特定實體。在這種情況下,您可能會發現Hibernate filters有用。

編輯:Hibernate也採用了@Where註釋有條件的連接,看看This simple example

+0

我認爲這就是它!我會試試這個,如果有效的話,我會告訴你。 – endrigoantonini

+0

@endrigoantonini - 也有不同的可能性,可能更適合 - 「@ Where」註釋 - AFAIK,過濾器應用於會話範圍,而條件連接則不適用。 – kostja

相關問題