我正在尝试保留一个具有 @ManyToOne 与UserStatus映射的用户
但是当我执行下面的代码时,休眠会抛出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 中的 saveAndUpdate 并且仍然相同)
有人有什么主意吗?
错误信息是:
not-null property references a null or transient value
映射
@ManyToOne(optional = false)
@JoinColumn(name = "user_status_id", nullable = false)
public UserStatus getStatus() {
return status;
}