在我的应用程序中,我有这个层次结构:
BaseObject是一个@MappedSuperclass,由Transaction扩展,后者又由SubTransaction扩展。
Transaction对象定义如下:
@Entity
@Table(name = "T_TRANSACTION")
@Inheritance(strategy = InheritanceType.JOINED)
public class Transaction extends BaseObject implements Serializable {
//etc
}
SubTransaction看起来像这样:
// Primary key join columns
public class SubTransaction extends Transaction implements Serializable {
Transaction和SubTransaction映射到每个都有审计列的表(是的,相同的名称)
当我尝试持久化SubTransaction时,会抛出有关Transaction的审计列为空的异常。
有人可以提出任何建议吗?
答案 0 :(得分:0)
据我所知,你有一个类似
的表结构 BaseObjectTable
/ \
\/ \/
Transaction Subtransaction
但映射表明他
BaseObjectTable
/
\/
Transaction
/
\/
Subtransaction
要实现第一个,你可以尝试在Subtransaction
上设置@Extends(BaseObject)