원본:
https://stackoverflow.com/questions/17987638/hibernate-one-to-one-lazy-loading-optional-false
이해한 바에 의하면, 지연로딩을 하면 사용 전까지 로딩을 안하기 때문에 assosiation 을 optional true 로 해두면 참조 주소가 있는지 없는지 알 길이 없다. 그래서, optional 을 false 로 해두고 lazy loading을 하더라도 항상 관계가 존재하도록 해주어야 한다.
docs를 보면 아래와 같다.
javax.persistence.OneToOne public abstract boolean optional()
(Optional) Whether the association is optional. If set to false then a non-null relationship must always exist.
추가로,
optional 을 false 로 해두는 값은 CascadeType.PERSIST 와 같이 동작 안한다는 말이 있었다.