我有以下實體類。我可以將註釋放在成員變量聲明的頂部,或者放在getter和setter的頂部。當我將註釋放在成員變量聲明附近時,它將保存該變量的值(而不是getter返回的值),如果我將註釋放在getter附近,它將保存getter返回的值(而不是變量的值) 。這很好。實體類中的Hibernate註釋放置
我的問題是,雖然堅持,hibernate如何能夠訪問成員變量值,雖然它被聲明爲私有的,當我們把註釋放在成員變量的附近。
@Entity
@Table(name="USERS")
public class Users {
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private int userId;
//This will save only value of userName no mater what getter returns
@Column(name="user_name")
private String userName;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
//Putting @Column(name="user_name") here will save value
// "userName from getter" to the DB
public String getUserName() {
return userName + " from getter";
}
public void setUserName(String userName) {
this.userName = userName;
}
}