为了账号安全,请及时绑定邮箱和手机立即绑定

关注注解在方法上和注解在属性上的异同。

@老师,请教一个问题: @Column(length = 20)    public String getName() {        return name;    } 修改默认的大小时,我第一次将@Id//主键是id    @GeneratedValue //id自增 配置在属性上,没有执行,再改到方法上注解,就OK了。注解方法和注解属性有什么异同,底层的实现原理都是一样的嘛?

正在回答

3 回答

两者底层的实现原理是不一样的,注解写在属性上,是通过反射对属性值强行访问,因为属性往往是私有的,这样写就破坏了java的封装性原则,你在属性上写的private就失去了意义,而且注解直接写在属性上,一些数据内容较多的字段,或者外键约束等复杂字段上,会对你的表的构建有所影响。而写在方法上,底层是通过反射正常调用set或个get方法,这样一般不会出现意外情况的。所以我建议你把注解写在方法上!

1 回复 有任何疑惑可以回复我~

OK,thx


0 回复 有任何疑惑可以回复我~

底层的原理是一样的,在属性上没有执行可能是底层的没有对属性设置而对方法设置了该注解的效果;

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关注注解在方法上和注解在属性上的异同。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信