У меня есть 2 объекта: Profile и MacAddress (deviceType здесь не является основным полем)
Profile имеет отношение OneToMany с MacAddress.
MacAddress имеет отношение ManyToOne с Profile.< /p>
Я установил каскадную конфигурацию как {CascadeType.PERSIST , Cascadetype.REMOVE на @OneToMany аннотация.
В моем методе службы я получаю ProfileId и объект ProfileDto, который содержит сведения, связанные с профилем, и новый MacAddress в наборе MacAddress.
Теперь сначала я получаю профиль сохранения. Я получаю как данные профиля, так и уже сохраненные макадрессы.
Теперь я добавляю эти макадрессы в свой объект ProfileDto (полученный от клиента) и устанавливаю ProfileId (используя Profile, который я получил с помощью ProfileId), а затем преобразовал это в объект Entity.
и, наконец, я вызываю ProfileRepo.save(profile).
Теперь JPA пытается вставить новый запись в объекте MacAddress. Теперь я не уверен, что это та самая запись, которую я указываю как новую в своем вопросе. Не знаю, что именно пытается сделать JPA.
Теперь это приводит к тому, что тип_устройства не может быть нулевым.
Но тип устройства всегда присутствовал.
При первом сохранении все работает идеально. Вставки каскадно передаются в дочерний объект. Я не могу понять, что здесь происходит.
Извините, что не предоставил код.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ent-in-jpa
Ошибка создания дочернего объекта при обновлении родительского объекта в JPA ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Лучший способ создать экземпляр дочернего объекта из родительского объекта
Anonymous » » в форуме C# - 0 Ответы
- 45 Просмотры
-
Последнее сообщение Anonymous
-