Spring boot + JPA Entity Annotation 不生效问题记
版本
- spring boot: 1.5.9
- hibernate: 5.2.12
问题描述
在Entity的field上添加注解
@Enumerated、@Column、@Lob不生效,但加在getter方法上有效,有用采用lombok, 写getter方法就多余了解决过程
查询大部分资料是说hibernate naming strategy调整导致的,但怎么调整都不对不生效,后来发现加在getter方法上发现有效。发现原来是Jpa访问策略默认是
AccessType.PROPERTY
@Access注解
JPA的@Access批注,其值定义在AccessType枚举类中,包括AccessType.FIELD及AccessType.PROPERTY,这两个类型定义了实体的访问模式(Access mode)
解决方案
在Entity上增加@Access(AccessType.FIELD)注解
参考: