在工作中,我一直在使用我們內部的ORM(2000年以前),我們正在考慮爲我們的java移動到另一個ORM解決方案,但有一些特定要求。有誰知道任何支持這些請求的表單或ORM?ORM繼承和裝飾器支持(休眠?)
支持的產業,在我們的Java,我們有相當深的繼承結構,目前如果我在「頂」添加屬性的類,那麼我必須手動編輯ORM過程(SQL)以爲每個子類添加新的類
對裝飾器表的支持:我們的一些類需要能夠存儲針對特定對象的任何(用戶提供的)屬性,目前這只是一個匹配的表Item Id添加到包含FieldName和FieldValue的行中,並將所有這些屬性作爲屬性提取。請參閱下面的更好的解釋。
對象持久性內置的,所以對象只能在請求時加載和寫入到數據庫或從數據庫寫入,否則留在內存中。也將是巨大的,如果任何變化可能,當你完成自動保存,而不必調用
.save()
像往常一樣,易於使用(最好是(但潛在的危險?) - 這不就是我們都希望? )和良好性能
感謝您的時間,幸福與我們選擇和更新問題,爲什麼,我們發現了一些線索,同時實施!
的#2進一步解釋:
(請不要問爲什麼它是這樣的,改變是 「超出範圍」 這個項目的)
項目表:
ItemId | Type | Price
-------|-------|-------
1 | Mouse | 9.99
2 | Dog | 12.99
裝飾表:
ItemId | FieldName | Value
-------|-----------|-------
1 | Age | 12
2 | Breed | Blue Long Hair
2 | Name | Fluffy
Item對象:
Item1
ItemId -> 1
Type -> Mouse
Price -> 9.99
Age -> 12
Item2
ItemId -> 2
Type -> Dog
Price -> 12.99
Breed -> Blue Long Hair
Name -> Fluffy
感謝您的詳細回覆。重新2.我們有一個類「項目」,可以有任何數量的屬性(由用戶提供),我們需要一個數據庫端的方式(因爲這是它如何工作,不能改變)接受這個項目上的任何領域。例如。它只定義了名稱和價格,但對於一個項目,我可以添加顏色 –
已在上面添加更多信息 –
Object1和Object2有哪些類型?這些類型有什麼共同之處?使用JPA映射上面的數據庫結構需要一個Item實體,並且具有與ItemField實體的OneToMany關聯。 ItemField實體將具有名稱字段和值字段。 –