У меня вопрос по Hibernate.
У меня есть два объекта с отношением «многие к одному»:
Например: Объект 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 может быть нулевым. В настоящее время Hibernate загружает экземпляр Group, когда я загружаю определенного человека, и выдает исключение, потому что он не может установить для exampleFieldId значение null (поскольку это примитивный тип).
Я могу остановить эту ошибку, изменив long на Long, однако я бы подумал, что объект Group на Person должен быть нулевым, и, следовательно, объект Group не загружается в первую очередь?
Кто-нибудь знает, загружает ли Hibernate связанный объект независимо от того, разрешено ли ему быть нулевым, или я пропустил какую-то важную аннотацию?
Спасибо