这是我正在处理的情况:
我有三种类型的问题:
AccountTypeA
AccountTypeB
AccountInformation
AccountTypeA和AccountTypeB都应具有一个AccountInformation对象。
在数据库中,AccountInformation有一列,用于指定它正在谈论的帐户类型:
@Column(unique = false, nullable = true)
private String accountType;
我正在尝试建立我的一对一映射,但不确定如何处理这种情况。在每个AccountTypeX中,我都有以下映射设置:
@JsonIgnore
@OneToOne(mappedBy = "accountTypeX")
private AccountInformation accountInformation;
但是,我不确定在AccountInformation对象中设置映射的最佳方法。这是我目前所拥有的:
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "accountInformationId", referencedColumnName = "accountInformationId")
private AccountTypeA accountTypeA;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "accountInformationId", referencedColumnName = "accountInformationId")
private AccountTypeB accountTypeB
这是处理它并仅将AccountInformation中的变量之一处理为null的最佳方法吗?还是有更好的方法?