2012-10-24 9 views
7

マップされたスーパークラスがあります。これには、DB内のいくつかのテーブルが共有するフィールドがあります。Hibernate override @transient

このフィールドに@Transientアノテーションを付けると、ほとんどのエンティティで無視されますが、@ @ Transientまたは@ @ Transient @子エンティティでは無視されます。

これは可能ですか?

は、あなたがそれを親のスーパークラスを設定して、サブクラスしなければならない弁別パターン

http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/mapping.html

を使用することができるかもしれない、のようなものを Idob

答えて

1

をありがとう

ClassWithSharedFields 
ClassExtensionThatUpdatesCertainFields 
ClassExtensionThatReadsCertainFields 

次に、ClassExtensionThatReadsCertainFieldsは、あなたが更新する予定のないフィールドを指定できます。読み取り専用です。

これはあいまいな提案である可能性がありますので、より具体的なヘルプが必要な場合は、ドメインクラスがDBとの関係でどのように動作する必要があるかの具体的な例を提供してください。