0

在我的应用程序中,我有这个层次结构:

  • 最后用户
  • LastUserUpdatedTimestamp

BaseObject 是一个@MappedSuperclass,它由Transaction 扩展,而后者又由SubTransaction 扩展。

Transaction 对象定义如下:

@Entity
@Table(name = "T_TRANSACTION")
@Inheritance(strategy = InheritanceType.JOINED)
public class Transaction extends BaseObject implements Serializable {
    //etc
}

子事务看起来像这样:

// Primary key join columns
public class SubTransaction extends Transaction implements Serializable {

Transaction 和 SubTransaction 映射到每个都有审计列的表(是的,相同的名称)

  • 最后用户
  • 上次更新时间戳

当我尝试持久化 SubTransaction 时,会引发有关 Transaction 的审计列为空的异常。

任何人都可以提供任何建议吗?

4

1 回答 1

0

据我了解,您有一个表格结构,例如

   BaseObjectTable
  /               \
 \/               \/
Transaction     Subtransaction

但映射表明他

BaseObjectTable
  /
 \/
Transaction
  /
 \/
Subtransaction

要实现第一个你可以尝试@Extends(BaseObject)在 Subtransaction 上设置

于 2012-07-27T06:39:51.270 回答