【发布时间】:2013-08-08 22:12:44
【问题描述】:
我正在尝试保留一个 User,该 User 具有与 UserStatus
的映射 @ManyToOne但是当我执行下面的代码时,休眠会抛出 PropertyValueException
user.setStatus(new UserStatus(1));
em.persist(user); // ou session.saveAndUpdate(user);
为了工作,我必须这样做:
user.setStatus(em.getReference(UserStatus.class, 1));
em.persist(user); // ou session.saveAndUpdate(user);
我知道第一种方法是可能的,但我不知道我是否需要配置或调用另一个方法(我已经尝试过从 Session 中保存和更新,仍然一样)
有人知道吗?
错误信息是:
not-null property references a null or transient value
映射
@ManyToOne(optional = false)
@JoinColumn(name = "user_status_id", nullable = false)
public UserStatus getStatus() {
return status;
}
【问题讨论】: