簡體   English   中英

如何在ActiveJDBC中通過超類與另一個模型之間的關聯來實現繼承的模型?

[英]How to implement inherited models in ActiveJDBC with associations between superclass and another model?

我想建立這樣的東西:

abstract class Owner extends Model {}
class User extends Owner {}
class Group extends Owner {}
class Thing extends Model {} 

每個Thing都有一個並且只有一個Owner可以是GroupUser 這怎么可能? 我是否必須使Owner不抽象才能讓ActiveJDBC將事物表中的owner_id列映射到所有者? 但是它如何確定我們擁有什么樣的所有者,如http://javalite.io/inheritance所說,ActiceJDBC中未實現單表繼承。

您需要使用多態關聯 繼承和所有權之間有區別。

ActiveJDBC繼承僅限於將通用功能傳遞給子類。 然后,您需要使用關系來創建“ A有很多B”等, 多態關聯似乎是您最好的選擇。

因此,在您的情況下,用戶和組將是Thing的多態父對象。 然后,您可以選擇創建一個單獨的類Owner(僅當它們共享某些功能時)。

因此,您將擁有三個表:USERS,GROUPS,THINGS。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM