2012-07-26 64 views
0

在我的申请,我有这样的层次:表每个子类对战重复列

  • LastUser
  • LastUserUpdatedTimestamp

的BaseObject是@MappedSuperclass,这是由事务,扩展其在转由SubTransaction扩展。

事务对象被定义为这样:

@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 { 

事务和子事务被映射到表,每个具有审计列(是的,相同的名称)

  • LastUser
  • LastUpdatedTimestamp

当我尝试坚持一个SubTransaction时,引发一个关于事务的审计列为空的异常。

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

回答

0

据我所知,你有一个像

BaseObjectTable 
/    \ 
\/    \/ 
Transaction  Subtransaction 

一个tablestructure但映射表明他

BaseObjectTable 
/
\/ 
Transaction 
/
\/ 
Subtransaction 

率先实现,你可以尝试设置@Extends(BaseObject)在子事务