如何使用JPA注解处理暂未存在、后续将新增的数据库列?
JPA实体保留未映射属性的实现方案
针对已映射的amount属性,正常使用JPA注解绑定数据库列:
@Column(name = "amount") private BigDecimal amount;对于暂未映射的currency属性,有两种简洁的处理方式:
- 不添加任何JPA映射注解:JPA默认会忽略无映射注解的属性,实体可保留该属性,且不会尝试与数据库列关联。将属性定义为可为null的类型即可:
private String currency; - 显式添加
@Transient注解:明确告知JPA该属性无需持久化,代码可读性更强,后续需要映射时只需移除该注解并添加@Column即可:@Transient private String currency;
- 不添加任何JPA映射注解:JPA默认会忽略无映射注解的属性,实体可保留该属性,且不会尝试与数据库列关联。将属性定义为可为null的类型即可:
内容的提问来源于stack exchange,提问作者Niranjan Verma
相关产品推荐
相关产品推荐

