当我在我的网站上更改一段内容的“所有者”时,我收到如下所示的错误。我很困惑为什么我会收到这个错误。似乎它正在尝试更改项目本身的 ID。一切看起来都正确......我是否在所有正确的地方寻找?
错误
Caused by: org.hibernate.HibernateException: identifier of an instance of com.site.model.User was altered from 13 to 72
我的 JSP
当我更改为时owner.id
,owner
我得到一个字符串/整数不匹配。
<label class="formLabel">Owner <img src="/images/s.gif" class="required"/><br/>
<form:select path="owner.id" id="owner">
<form:options items="${owners}" itemValue="id" />
</form:select>
</label>
我的服务
Content cm = em.merge(content);
em.flush();
内容模型
@NotNull
@JoinColumn(name = "owner_id", referencedColumnName = "id")
@ManyToOne
@IndexedEmbedded
@JsonIgnore
private User owner;
用户模型
@Id
@Basic(optional = false)
@Column(name = "id")
@GeneratedValue(strategy= GenerationType.IDENTITY)
@JsonIgnore
private Integer id;