[Seasar-user:12348] S2JDBCでエンティティクラスの継承をしたい

AGATA Toshitaka [E-MAIL ADDRESS DELETED]
2007年 12月 28日 (金) 18:03:32 JST


縣です。

S2JDBCのエンティティクラスの継承について教えてください。

ベースとなるエンティティを自動生成で作成して、
それを継承したクラスに関連などの定義を手動で行おうとしています。

以下のように継承したクラスをS2JDBCで使用すると例外が発生します。
フィールドなどを、Employeeに移動すると問題なく動作するので、
親クラスのフィールドなどはS2JDBCでは認識されないという仕様なのかと
思っていますが、このような場面で何かよい方法はありますか?

---------------------------------------------------------
@Entity
public class EmployeeBase {
  @Id
  @GeneratedValue(strategy = GenerationType.SEQUENCE)
  public Integer id;

  public Integer departementId;
}

@Entity
public class Employee extends EmployeeBase {
  @ManyToOne
  public Department department;
}
---------------------------------------------------------

■エラーメッセージ
org.seasar.extension.jdbc.exception.ManyToOneFKNotFoundRuntimeException:
[ESSR0729]エンティティ(Employee)のプロパティ(department)が不正です。
JoinColumnのnameで指定されている外部キー(DEPARTMENT_ID)が存在しません。
	at
org.seasar.extension.jdbc.meta.EntityMetaFactoryImpl.resolveJoinColumn(EntityMetaFactoryImpl.java:306)
	at
org.seasar.extension.jdbc.meta.EntityMetaFactoryImpl.resolveRelationship(EntityMetaFactoryImpl.java:246)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)


-- 
-------------------------------
株式会社ヌーラボ 縣 俊貴
Mail : [E-MAIL ADDRESS DELETED]
HP   : http://www.nulab.co.jp/
TEL  : 03-5766-6256(東京)
       092-724-0020(福岡)
-------------------------------


Seasar-user メーリングリストの案内