在 JPA 中是不是可以将继承的属性重新定义为瞬态?

Posted

技术标签:

【中文标题】在 JPA 中是不是可以将继承的属性重新定义为瞬态?【英文标题】:Is it possible in JPA to redefine inherited attributes as transient?在 JPA 中是否可以将继承的属性重新定义为瞬态? 【发布时间】:2015-08-20 10:37:59 【问题描述】:
@MappedSuperclass
public abstract class BaseBean
    @Id
    @GeneratedValue
    Long id;
    String name;


@Entity
public class A extends BaseBean



@Entity
public class B extends BaseBean


是否可以只为 B 类设置 name 属性为瞬态

【问题讨论】:

是的,我在 orm.xml 中使用了 但它不起作用,我尝试了 AttributeOverride 也不起作用 使用 @Transient 注释您的属性并确保它是从 javax.persistence.transient 导入的 【参考方案1】:

不,它不起作用。 @MappedSuperclass 字段/属性始终被考虑在内,即使您使用属性访问并尝试使用不同的注释覆盖属性,Hibernate 仍将使用基类中的那个。

【讨论】:

以上是关于在 JPA 中是不是可以将继承的属性重新定义为瞬态?的主要内容,如果未能解决你的问题,请参考以下文章

将 Dbcontext 配置为瞬态

JPA,映射实体人,其中包含名称类型的类

何时向托管对象添加类别以及何时使用瞬态属性?

依赖注入作用域为瞬态,然后瞬态为单例

php 显示保存为瞬态的导航菜单的功能

使用 Gson 序列化具有瞬态字段的对象