基本的な質問: @Embedded オブジェクトが常にインスタンス化されないのはなぜですか?
興味深いことに、Ebean は @Embedded オブジェクトに基本的なデータ型 (int、boolean...) が含まれていない場合、または以前に触れられていない場合、それらのオブジェクトをインスタンス化しません。例:
@Entity
public class Embedder {
// getNotAutoInstantiated() will return null if this field was not touched before
@Embedded
private NotAutoInstantiated notAutoInstantiated = new NotAutoInstantiated();
// getAutoInstantiated() will always return an instance!
@Embedded
private AutoInstantiated autoInstantiated = new AutoInstantiated();
}
@Embeddable
public class AutoInstantiated {
// theKey is why this embedded object is always instantiated
private int theKey;
private String field1;
}
@Embeddable
public class NotAutoInstantiated {
private String field2;
}