7

我有一个映射的超类,它有一个我的数据库中的一些表共享的字段。

我希望用@Transient 注释这个字段,以便大多数实体会忽略它,但在子实体上取消@Transient 或取消@Transient。

这可能吗?

谢谢你,伊多布

4

1 回答 1

1

您也许可以使用鉴别器模式

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

您必须设置一个父超类,然后对其进行子类化,例如

ClassWithSharedFields
ClassExtensionThatUpdatesCertainFields
ClassExtensionThatReadsCertainFields

然后,ClassExtensionThatReadsCertainFields可以将您不打算更新的字段指定为只读。

这可能是一个含糊的建议,所以如果您需要更具体的帮助,可以提供一些更具体的示例,说明您的域类需要如何与您的数据库相关。

于 2013-04-02T01:31:17.120 回答