OneToOne JPA不保存null

时间:2018-11-27 18:29:00

标签: java spring-mvc jpa spring-data-jpa spring-data

我有一个基本的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 :(得分:0)

根据您的休眠配置,JPA存储库上的save方法可能不会立即将您的更改写入数据库,并且在完成“保存”实体后,您将必须将其刷新。您还可以使用saveAndFlush方法,该方法将强制将对象中的更改立即写入数据库。

Hibernate documentation