问题描述
我有两个实体 Space
作为父实体,SpaceInactivityDate
作为子实体,关系 @OnetoMany
和 @ManyToMany
以及 space_id
作为外键。
insert
操作工作正常,但是当我尝试更新时,Space
表已更新,但在 SpaceInactivityDate
表中,他添加了新行而不是更新行。我使用了 CascadeType=All
和 cascade = {CascadeType.PERSIST,CascadeType.MERGE}
,但通常结果相同。
Space.java
@Entity
@Table(name = "space")
public class Space {
@OnetoMany(cascade = {CascadeType.PERSIST,CascadeType.MERGE},mappedBy = "space",fetch = FetchType.LAZY)
private Set<SpaceInactivityDate> spaceInactivityDates = new HashSet<SpaceInactivityDate>();
// getters+setters
}
SpaceInactivityDate .java
@Table(name="space_incativity_date")
@Entity
public class SpaceInactivityDate {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id")
private Integer id;
@Column(name = "inactivity_start_date",nullable = false,insertable = true,updatable = true)
@Type(type = "ec.ep.dit.sip.expomep.persistency.type.PersistentLocalDate")
private LocalDate inactivityStartDate;
@Column(name = "inactivity_end_date",updatable = true)
@Type(type = "ec.ep.dit.sip.expomep.persistency.type.PersistentLocalDate")
private LocalDate inactivityEndDate;
@JoinColumn(name="space_id",referencedColumnName="id")
@ManyToOne(optional=false,fetch=FetchType.LAZY)
private Space space;
}
SpaceServiceImpl.java
this.spaceDao.save(space);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)