Сопоставление Hibernate «многие к одному» с ненулевым ограничением

У меня есть сопоставление «многие к одному», а не нулевое ограничение для столбца. я получаю, что столбец исключения имеет значение Null при сохранении. Может ли кто-нибудь предложить, как я могу использовать каскад и инверсию в этом сценарии?


person user1448876    schedule 11.06.2012    source источник
comment
Покажите нам свое сопоставление и код, который вы используете для сохранения, и мы расскажем вам, что не так.   -  person JB Nizet    schedule 11.06.2012


Ответы (2)


объект с onetomany/коллекцией по умолчанию будет поддерживать ассоциацию, каскадно переходя к дочернему элементу, который сначала вставляется без обратной ссылки, а затем обновляет идентификатор. Чтобы решить эту проблему, сопоставление onetomany/коллекция должно иметь установленный атрибут inverse, а обратная ссылка в дочернем элементе должна быть установлена ​​правильно.

person Firo    schedule 11.06.2012

Вместо @NotNull укажите, что ассоциация не является обязательной, используя @ManyToOne(optional = false). @NotNull не относится к Hibernate; это общая аннотация bean-компонента, которая может быть применена до сохранения объектов. Чтобы быть в безопасности, я предлагаю использовать @NotNull в первую очередь для атрибутов @Column.

person Paulo Merson    schedule 02.10.2017