JPA的@Column等注解加在属性上不起作用
2019-11-04 本文已影响0人
猫尾草
以下常见做法:
- 如果使用了Lombook,就会用Lombook的注解,而不是显式的写出getter和setter方法;因为没有getter和setter方法,jpa的其他注解比如@Column就会加在属性上;
- 一般项目都有个BaseEntity,里面放了id等公共属性;BaseEntity一般不会用Lombook,公共属性的注解加在了getter方法上,比较符合java面向对象的封装性(让jpa通过get方法访问属性,而不是直接访问私有属性);
继承了BaseEntity的类,注解加在属性上不起作用的原因:
BaseEntity的注解放在哪里,子类的注解也必须放在那里,否则失效(即统一放在属性上,或统一放在getter方法上)。更进一步,如果将BaseEntity的注解同时放在属性上和get方法上,相当于值在get方法上设置注解。
参考: