Hibernate覆盖@transient

时间:2012-10-24 15:43:48

标签: hibernate jpa

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

我希望用@Transient注释这个字段,这样大多数实体都会忽略它,但在子实体上de- @ Transient或un- @ Transient它。

这可能吗?

谢谢你, Idob

1 个答案:

答案 0 :(得分:1)

您可以使用鉴别器模式

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

你必须设置一个父超级类,然后对它进行子类化,比如

ClassWithSharedFields
ClassExtensionThatUpdatesCertainFields
ClassExtensionThatReadsCertainFields

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

这可能是一个模糊的建议,所以如果你想要更具体的帮助,可以提供一些更具体的例子,说明你的域类需要如何与你的数据库建立关系。