次のエンティティクラスがあります。メンバー変数宣言の上、またはゲッターとセッターの上にアノテーションを配置できます。
メンバー変数宣言の近くにアノテーションを配置すると、その変数の値(getterによって返される値ではない)が保存され、getterの近くにアノテーションを配置すると、getterによって返される値(変数の値ではない)が保存されます。これはすべて問題ありません。
私の質問は、メンバー変数の近くに注釈を付けると、プライベートとして宣言されていても、永続化しながら、どのように休止状態でメンバー変数値にアクセスできるかということです。
@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;
}
}