powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Сохранение вложенной коллекции в Hibernate
2 сообщений из 2, страница 1 из 1
Сохранение вложенной коллекции в Hibernate
    #39139178
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет
В энтити Organization есть поле departments
Код: java
1.
2.
3.
4.
  @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
    @LazyCollection(LazyCollectionOption.FALSE)
    @JoinColumn(name = "ORGANIZATION_ID")
    private Collection<Department> departments = new ArrayList<>();


При сохранении делаю следующее:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public Organization saveOrganization(Organization organization) {
        Collection<Department> toSave = new ArrayList<>();
            for (Department department : organization.getDepartments()) {
                department.setOrganization(organization);
                toSave.add(department);   
            }
        departmentRepository.save(toSave));
        organization.setDepartments(toSave);
        return organizationRepository.save(organization);      
}


Когда в метод saveOrganization(Organization organization) приходит организация с существующим id, тогда все работает корректно, а если организация новая, т.е. organization.getId == null, тогда я делаю: organization = organizationRepository.save(organization); но именно в этом месте
возникает исключение: ERROR: null value in column "organization_id" violates not-null.
@Entity
Код: java
1.
2.
3.
4.
5.
public class Department{
    ....
    @ManyToOne
    @JoinColumn(name = "ORGANIZATION_ID", referencedColumnName = "ID")
    private Organization organization;


Что не так, подскажите пожалуйста
...
Рейтинг: 0 / 0
Сохранение вложенной коллекции в Hibernate
    #39139205
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На одном из концов должно быть mappedBy, обычно, на стороне @OneToMany:
Код: java
1.
@OneToMany(mappedBy = "organization", cascade=CascadeType.ALL, orphanRemoval = true)


А @JoinColumn(name = "ORGANIZATION_ID") на этой стороне убрать
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Сохранение вложенной коллекции в Hibernate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]