0

我有以下课程:

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 中指定初始化顺序?感谢您的帮助。

4

1 回答 1

0

在 Java 中(可能在 Hibernate 中)没​​有指定初始化顺序的标准方法。

尝试这个:

  • 在 setActionDueDate 验证用户是否“已经存在”( user != null )如果是,则初始化 actionDueDate 否则将其“未初始化值”存储在其他地方。

  • 在 setUser 中验证 actionDueDate 是否已经“存储”。如果是,则完成初始化,否则保持原样。

这将涵盖两种可能的情况。

于 2013-06-27T00:32:29.750 回答