jsf hibernate crud形成关系



我使用hibernate 4、jsf 2.2和素数面4。当我创建一个具有关系的实体CRUD表单时,我应该使用哪种策略?

使用关系对象和实体通用转换器:

<h:inputHidden id="gender" value="#{user.gender}" converter="entityconverter"/>

或使用object.id

<h:inputHidden id="gender_id" value="#{user.gender.id}" />

更新:我正在使用由Netbeans创建的标准实体和数据库中的实体。

User.java:

@JoinColumn(name = "gender", referencedColumnName = "id") 
@ManyToOne(optional = false, fetch = FetchType.LAZY) 
private Gender gender; 
public Gender getGender() {
    return gender;
}

Gender.java:

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
@Basic(optional = false)    
@Column(name = "id") 
private Long id
public Long getId() {
    return id;
}

我认为第一次加载页面时,gender属性为null,因此会得到NPE。,你能试着添加这样的空检查吗

public Gender getGender() {
    if(gender == null) {
        gender = new Gender();
    }
    return gender;
}

相关内容

  • 没有找到相关文章

最新更新