hibernate 覆盖@transient

标签 hibernate jpa

我有一个映射的父类(super class),它有一个字段,我的数据库中的某些表共享。

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

这可能吗?

谢谢,
伊多布

最佳答案

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

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

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

ClassWithSharedFields
ClassExtensionThatUpdatesCertainFields
ClassExtensionThatReadsCertainFields

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

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

关于 hibernate 覆盖@transient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13052717/

相关文章:

java - Spring 数据Jpa : Save method only returning select but not performing insert

java - Spring boot 没有使用 spring 数据和 hibernate 与 sql server 一起运行

java - 为什么Eclipse不生成完整的persistence.xml?

java - Hibernate对于Web应用程序更安全吗?

java - 类型 "YEAR"的 MySQL 到 Hibernate 数据类型映射

java - 在 CrudRepository 中级联添加记录

java - 如何在 JPA 中设置默认架构

java - OpenJPA JPQL 问题中的双向 OneToMany/ManyToOne 映射

java - 使用hibernate时出现空指针异常

java - Hibernate默认时间戳是从数据库还是虚拟机获取的?