【发布时间】:2020-07-01 12:09:01
【问题描述】:
在我的项目中,我有 Events 实体和 MyLocation 实体。
MyLocation id 是 event.eventStartTime (ISOString) + event.eventName,并且 我在尝试更新事件名称(不再与 MyLocation 字符串名称相关)时遇到问题,这是错误:
Violation of PRIMARY KEY constraint 'PK__my_locat__72E12F1A88A314B4'. Cannot insert duplicate key in object 'dbo.my_location'. The duplicate key value is (2020-06-25T14:00:01.235ZWeddingT&Z).
这是代码:
@Entity
@Table(name = "Events")
public class Event {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long eventID;
@Column(nullable = false)
private String eventName;
@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private MyLocation eventLocation;
@column
private TimeStamp eventStartTime;
....
@Entity
public class MyLocation {
@Id
private String name;
@Column
private double longitude;
@Column
private double latitude;
.....
问题是否与 MyLocation 中的 @Id 有关? 或任何其他解决方案?
【问题讨论】:
标签: java sql spring-boot spring-data-jpa sql-update