【发布时间】:2014-04-28 15:17:05
【问题描述】:
我正在使用休眠 4、jsf 2.2 和 primefaces 4。 当我创建具有关系的实体 CRUD 表单时,我应该使用哪种策略?
使用对象进行关系,以及实体通用转换器:
<h:inputHidden id="gender" value="#{user.gender}" converter="entityconverter"/>
或者使用object.id
<h:inputHidden id="gender_id" value="#{user.gender.id}" />
更新: 我正在使用 Netbeans 创建的标准实体和数据库中的实体。
用户.java:
@JoinColumn(name = "gender", referencedColumnName = "id")
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private Gender gender;
public Gender getGender() {
return gender;
}
性别.java:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Long id
public Long getId() {
return id;
}
【问题讨论】:
-
对我来说 object.id 看起来通用且简单。 entityconverter 是否特定于任何特定框架,如 JSF ?
-
当我使用 object.id 第一次加载表单时,我得到对象的 NullPointerException。 Entityconverter 是一个自定义的面孔转换器。教程:docs.oracle.com/javaee/6/tutorial/doc/bnaus.html
-
你能把 user.getGender() & gender.getId() 的代码贴出来吗?
-
我正在使用 Netbeans 创建的标准实体和数据库中的实体。用代码更新问题。
-
还有 user.getGender() & gender.getId() 代码?
标签: hibernate jsf primefaces crud