OneToOne JPA не сохраняет ноль - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть базовое приложение SpringBoot 2.1.0.RELEASE.Используя Spring Initializer, JPA, встроенный Tomcat, шаблонизатор Thymeleaf и пакет в качестве исполняемого файла JAR.

У меня есть этот объект:

@Entity
public class TdkDevice extends Device {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;


    public TdkDevice() {
        super();
    }

    public TdkDevice(String deviceKey, String devicePAC) {
        super(deviceKey, devicePAC);
    }



    @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @JsonIgnore
    private User authorizedTeam;

}

и в контроллере я делаю это

currentDevice.setAuthorizedTeam(null);
deviceService.save(currentDevice);  

Но в БД все еще есть старое значение

1 Ответ

0 голосов
/ 27 ноября 2018

В зависимости от вашей конфигурации гибернации, метод save в репозитории JPA может не сразу записывать ваши изменения в базу данных, и вам придется их сбрасывать, как только вы закончите «сохранять» сущности.Вы также можете использовать метод saveAndFlush, который заставит изменения объекта немедленно записываться в базу данных.

Документация Hibernate

...