我試圖將現有的Ruby on Rails/Active Record組件轉換爲Springboot/JPA/Hibernate堆棧。JPA /休眠 - 多態多對一關係設計
有一個實體模型,其中多個不相關的類型都可以應用註釋。
在Rails的世界裏,這是通過模型中的多態關係實現的。從數據庫的角度來看,這意味着我有一個帶有'commentable_id'和'commentable_type'的註釋表,它指向實體類型和擁有註釋的id。
我打算有一個抽象類'CommentableEntity',所有需要支持註釋的實體都會擴展。
我試過應用不同的繼承策略,但找不到適合正確的一個: - 單表不起作用,因爲具有註釋的實體具有不應該在同一個表中的不同屬性 - 聯合表感到尷尬,因爲只爲CommentableEntity的表只會有一個ID字段(是這些實體中唯一的共享字段)
是否有另一種方法來實現這一點?我試圖避免一個單獨的多對多表格模型。 apple_comments,orange_comments等或單獨的評論表,如apple_comment(帶有apple_id),orange_comment(帶有orange_id)等。
感謝您的任何建議!