我有以下课程:
public class Action implements Serializable {
private Logger log = Logger.getLogger(Action.class);
private Integer actionID;
private Integer actionStatus;
private User user;
private Date actionDueDate;
public Action(User user) {
this.setUser(user);
}
public Action() {
}
getters...
setters...
}
我需要在初始化user
之前初始化actionDueDate
属性,因为actionDueDate
取决于用户的时区。
我可以使用立即调用的构造函数来初始化用户,但我使用的是Hibernate,它使用默认构造函数来填充对象。
如何确保user
属性始终在actionDueDate
属性之前初始化。我应该遵循什么方法。
有没有办法确保可以在Java中指定初始化顺序?
感谢您的帮助。
答案 0 :(得分:0)
没有标准的方法来指定Java中的初始化顺序(可能在Hibernate中)。
试试这个:
在setActionDueDate中验证用户“是否已经存在”(user!= null),如果是,则初始化actionDueDate,否则将其“未初始化的值”存储在其他位置。
在setUser中验证actionDueDate是否已“存储”。如果是,则完成初始化,否则保持原样。
这将涵盖两种可能的情况。