【发布时间】:2010-12-20 15:24:19
【问题描述】:
我们还没有在我们的 Web 应用程序中使用 JPA 或任何其他 ORM 工具,现在我们一直在将整个东西更新到 Java EE 6,
我的问题是 JPA
,我一直在寻找答案,并了解人们如何解决这个问题,
我有 2 个实体,
@Entity Person
{
@Id
private long id;
@JoinColumn(name="CITY_ID")
@OneToOne(fetch=FetchType.LAZY)
private City city;
....
}
还有我的第二个实体
@实体城 { @ID 私人长ID; 私有字符串名称; ...... }我正在查询人员实体,并在我的 jsf 页面上显示一个
我有 2 个输入字段供 Person.city 显示在我的 jsf 页面上 id 的 inputhidden 和 name 的 inputtext 然后人们从弹出窗口中选择城市 我为城市 id 设置隐藏组件,新选择的新值, 和名字一样, 到目前为止一切顺利, 当我合并 Person Entity 时,它也会尝试合并 City,但表上已经定义了一个 id,因此 Cirty Id 的约束错误。
你在为这个问题做了什么?
我认为 inputHidden 的 valueChange 操作,但在 jsf 生命周期中,它发生在更新模型之前,所以即使我用新的实体替换 Person.City 实体, 它将再次更新(实际上具有相同的值,但会执行两次) ,那么对于这种情况,最好的解决方法是什么?
感谢
【问题讨论】: