Java Spring数据,保存前如何合并实体?
假设我有以下课程:Java Spring数据,保存前如何合并实体?,java,spring,spring-data,Java,Spring,Spring Data,假设我有以下课程: @Entity class Person { @Id private Integer id; @JoinColumn private Job job; //getters.. . setters @Entity class Job { @Id private Integer id; @Column private String name; @Column private String de
@Entity
class Person {
@Id
private Integer id;
@JoinColumn
private Job job;
//getters.. . setters
@Entity
class Job {
@Id
private Integer id;
@Column
private String name;
@Column
private String description;
//getters... setters
如果我要创建Person对象,看起来像
{ id:0, job: {id: 1, name: "newName", description: null}}
然后它将按原样保存,我的意思是列描述将被重写,并变为
null
,我如何告诉它,只更新非null
的字段,并将旧值合并到null
字段中?不,这是不可能的,spring将假定您已将属性设置为null,因为您希望删除它们,因为您必须提出自己的解决方案
例如:
您可以读取上一个对象并将这些详细信息设置为当前对象。这就是问题所在,我有客户端的值,除此之外没有其他内容,只有id和一些其他字段,因此每次我需要从数据库中查询具有该id的对象时,手动合并它,保存我的对象。我想去掉那个额外的查询。编辑bean时是否使用表单绑定功能