2012-04-17 14 views
2

私は、Hibernateテーブルごとのサブクラス設定を使用するアプリケーションを持っています。残念ながら、監査目的のために、各テーブルには二つの列があります。重複カラム名を持つHibernateテーブルあたりのサブクラス

  • LASTUPDATEDBY VARCHAR(16)
  • LASTUPDATEDTIME TIMESTAMP

をマッピングは、親に何かを作成し、このようなサブクラス:

@Column(name="LASTUPDATEDBY") 
public String getLastUpdatedBy() { 
    returh this.getLastUpdatedBy; 
} 

フィールドの名前は、親クラスとサブクラスで同じです。列の変更はオプションではありません。完全のために

、これはMappingExceptionが発生します。

Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: 
com.myapp.domain.subclass1 column: LASTUPDATEDBY (should be mapped with 
insert="false" update="false") 

誰でも助けることができますか?

ジェイソン

答えて

1

それは動作しませんサブクラスで

@Column(name="LASTUPDATEDBY") 
public String getLastUpdatedBy() { 
    returh this.getLastUpdatedBy; 
} 

+0

を削除します。親テーブルと各子テーブルにはその列があり、監査のためにその列を設定する必要があります。 – Jason

+0

しかし、サブクラスはスーパークラスから継承しますか? – slipset

+0

はい。残念ながら、従来のデータベーススキーマ(および従来のDBA)。 – Jason

関連する問題