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

AGATA Toshitaka [E-MAIL ADDRESS DELETED]
2007年 12月 29日 (土) 17:55:29 JST


縣です。

S2JDBCのコードを確認したところ、
エンティティクラスの対象となるフィールドはそのクラスのみで、
親クラスは対象としないようになっていました。

親クラスのフィールドも対象にするパッチを書いて見ましたので、
仕様の追加を検討して頂けると助かります。

AGATA Toshitaka さんは書きました:
> 縣です。
>
> 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)
>
>

-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: EntityMetaFactoryImpl.java.patch
URL:  http://ml.seasar.org/archives/seasar-user/attachments/20071229/e66efd32/attachment-0001.pl 


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