[英]JPA target entity type based on column value
我正在嘗試將一些舊代碼從手工持久性遷移到Hibernate。 這里的問題是特殊的映射,其中目標實體類型/表由列值定義。
示例數據庫表:
表“關系”:
問題是所有這些類型(例如Item或Category)具有相同的抽象父對象,稱為GenericObject,它沒有自己的表。 繼承是TABLE_PER_CLASS。
不好的是,通過parentId或childId您無法分辨出類型,這些ID在這些表中不是唯一的。 您需要查看parentType和childType。
現在我該如何在Hibernate中映射這種瘋狂? 我想將父級和子級映射到GenericObject變量,該變量實際上是Item或Category的實例。
有任何想法嗎?
Hibernate有@Any
和@ManyToAny
為目標時的實體由類和非唯一ID標識的情況下的注釋。
我認為在您的情況下,由於以這種方式標識了父母和子女,因此您需要創建帶有以@Any
注釋的父母和子女的Relation
實體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.