ハイバネートについて質問です。
多対一の関係を持つ 2 つのオブジェクトがあります。
例: オブジェクト 1:
public class Person {
@Basic
@Column(length = 50)
protected String name;
@NotFound(action=NotFoundAction.IGNORE)
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "groupCode", referencedColumnName = "code", updatable=false)
protected Group group;
...all the getters and setters...
}
オブジェクト 2:
public class Group {
@Id
@Basic
@Column(length = 3, nullable = false)
protected String code;
@Basic
@Column(length = 30, nullable = false)
protected String groupName;
@Basic
@Column(precision = 15, scale = 0)
protected long exampleFieldId;
...rest of code....
}
この例をできるだけ単純にするようにしました。私の問題は、Person の関連オブジェクト (グループ) が null になる可能性があることです。現在、Hibernate は特定の Person をロードすると Group のインスタンスをロードし、exampleFieldId を null に設定できないため (プリミティブ型であるため)、例外をスローします。
long を Long に変更することでこのエラーを止めることができますが、Person の Group オブジェクトは null である必要があり、そもそも Group オブジェクトが読み込まれないと考えていたでしょうか?
null が許可されているにもかかわらず、Hibernate が関連付けられたオブジェクトをロードするかどうか、または重要な注釈を見逃しているかどうかを知っている人はいますか?
ありがとう