给出了以下 JPA 实体:
@Entity(name = "MyEntity")
public class MyEntity {
@Id
protected String id = null;
protected String name = null;
protected String adress = null;
@Transient
protected User user = new User(name, adress);
// Required by JPA
protected MyEntity() {
}
public MyEntity(String id, String name, String adress) {
// assign instance variables
}
public String getUser() {
return user.toString();
}
...
}
在 Eclipse Link 创建的 MyEntity 上调用 getUser() 时,将不会返回所需的字符串。问题是在 Eclipse Link 设置 MyEntity 的实例变量之前实例化了 User。换句话说,用户是使用 name = null 和 address = null 创建的。
如何确保在 Eclipse Link 设置所有实例变量后创建用户?