休眠存储派生属性

问题描述

我有一个Hibernate保留的类,带有派生属性
isComplete
@Entity
class Container {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column
    private Long id;

    @Column private String oneFish;
    @Column private String twoFish;
    @Column private String redFish; 
    @Column private String blueFish;

    public Boolean isComplete(){
        return oneFish != null 
               && twoFish != null  
               && redFish != null 
               && blueFish != null;
    }
}
如何使Hibernate将isComplete持久保存到数据库,以便其他(非休眠)访问可以看到该值?     

解决方法

如果您用
@Column
注释该方法,它将被保留(您可能必须在实体上指定
@AccessType
/ѭ4)) 但是您不应该那样做。存储所有其他值,并在需要时计算ѭ0。这不是一个昂贵的操作。您甚至可以在
@Transient Boolean
属性中对其进行“缓存”,但是它不必进入数据库。     ,我正在使用XML Hibernate映射,但是如果我正确理解了Hibernate批注,则可以将isComplete()注释为@Column并提供不做设置的setComplete()。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...