我有一个关于 Hibernate 使用的简单问题。我不断看到人们以两种方式之一使用 JPA 注释:注释类的字段以及注释相应 bean 上的 get 方法。
我的问题如下:使用@Id等JPA注释来注释字段和bean方法之间有区别吗?
example:
@Entity
public class User
{
**@ID**
private int id;
public int getId(){
return this.id;
}
public void setId(int id){
this.id=id;
}
}
- - - - - -或者 - - - - - -
@Entity
public class User
{
private int id;
**@ID**
public int getId(){
return this.id;
}
public void setId(int id){
this.id=id;
}
}
是的,如果您对字段进行注释,Hibernate 将使用字段访问来设置和获取这些字段。如果您对方法进行注释,hibernate 将使用 getter 和 setter。 Hibernate将根据位置选择访问方法@Id
注释,据我所知,你不能混合搭配。如果你用注释一个字段@Id
,方法上的注释将被忽略,反之亦然。您还可以使用类级别注释手动设置方法@AccessType
The Hibernate 注解参考指南事实证明,它是解决此类问题的极其有用的资源,并详细介绍了访问类型如何沿层次结构向下级联。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)