2013-06-27 3 views
0

의 순서를 지정하는 방법 :나는 다음과 같은 클래스가 자바 객체 초기화

나는 actionDueDate가 초기화되기 전에 actionDueDate 사용자의 시간대에 의존하기 때문에, user 속성을 초기화 할 필요가
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... 
} 

. 나는 사용자를 초기화하기 위해 바로 호출하는 생성자를 사용할 수 있지만 Hibernate를 사용하고 있으며 기본 생성자를 사용하여 객체를 채 웁니다. user 속성이 actionDueDate 속성보다 항상 먼저 초기화되도록하려면 어떻게해야합니까? 어떤 접근 방식을 따라야합니다. Java에서 초기화 순서를 지정할 수있는 방법이 있습니까? 귀하의 도움에 감사드립니다.

답변

0

Java에서 초기화 순서를 지정하는 표준 방법은 없습니다 (최대 절전 모드 일 수 있음).

이 시도 : 사용자가 "이미"만일 setActionDueDate에서

  • 가 확인 (사용자 = 널!) 그럼 actionDueDate 그렇지 않으면 somethere 다른 사람의 "초기화되지 않은 값을"저장 초기화합니다.

  • setUser에서 actionDueDate가 이미 "저장되어 있는지"확인하십시오. 그렇다면 초기화를 끝내고 그대로 두십시오.

이것은 두 가지 가능한 경우를 포함합니다.

관련 문제