我正在开发一款用于跟踪客户帐户的应用程序。每个客户可以拥有多个帐户。挑战在于帐户对象是多态的。有一个抽象类,Account
其中包含 2-3 种方法,并且目前有 2 个子类型SavingsAccount
和CreditAccount
。
我尝试让Account
对象使用@MappedSuperclass
注释,然后每个具体类@Entity
都像正常一样有注释。
问题似乎是我的客户对象的映射
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name="customer_id", referencedColumnName = "id")
List<Account> accounts = new ArrayList<>();
当我使用它时,我在 IDE 中收到来自 Spring 的警告,但在运行时我收到此错误。
com.example.models.Customer.accounts' targets the type 'com.example.models.Account' which is not an '@Entity' type
有没有办法对多态对象列表进行 @OneToMany 映射?即使它们存储在同一张表中?