伪代码
@Entity
class User
@Id
....
@ManyToOne
@JoinColumn(name = "ID_TP_CLASS", insertable = false, updatable = false)
protected StudentClass studentCLASS;
....
User user = entity.merge(user);
在此代码之后,用户实例将重置studentClass实例。 在合并之前,studentClass实例已满足值,并且在合并之后,studentClass的实例存在,但studentClass中的值为null 有谁能解释我为什么会这样?
答案 0 :(得分:1)
基于文档:
将给定实体的状态合并到当前持久性中 上下文。
返回:状态合并到
的托管实例
您已将StudentClass标记为无可插入且无可更新,因此合并无法对其执行任何操作。合并后,如果持久化上下文中没有数据,则该属性将为空。
您是在合并之前从数据库中检索实体吗?