2010-06-08 156 views
0

我想實現一個類,它的字段可以隨時間變化(添加新字段)。問題是,我想給我的客戶自己做這件事的能力,只需要完成他想要的領域和類型的一種形式,然後這個改變就會自動完成! 有沒有人有任何想法我怎麼能實現這個類,並使用hibernate註釋在我的數據庫中進行此更改?使用hibernate註釋實現動態類

回答

0

您應該使用名稱 - 值對映射。 Hibernate本身支持地圖,並且它們的內容是動態的。

+0

謝謝。對不起,我是新的休眠。從我的理解來看,hibernate會爲哈希映射創建一個新表。如果我的哈希映射的值是另一個類的對象,hql是否支持需要從該對象中選擇一些值的查詢?換句話說,在這種情況下,hql是否支持嵌套的select查詢? – 2010-06-08 13:29:14

+0

@Zahra,地圖本身通常沒有需要的表格,只有被包含的對象(如果它們本身是實體的話)。 AFAIK HQL通常支持嵌套選擇。但是地圖內容由Hibernate在訪問時自動加載,因此您也可以在地圖中執行簡單查找而不是HQL。 – 2010-06-08 13:41:06

+0

非常感謝。實際上,我需要HQL查詢,因爲我有一個搜索需要我放入地圖的對象的一些字段! – 2010-06-08 16:16:14

0

您絕對不能使用Hibernate Annotations進行更改,因爲註釋只能在編譯時附加到類上。但是,如果你想在運行時改變你的類的結構(添加字段,方法等),你將不得不重新編譯這個類並重新創建Hibernate用來訪問數據庫的數據庫映射。