2014-09-04 56 views
0

在OneToOne关系,我不能坚持住址的领域,但我得到了学校方面的任何错误它给这个错误:嵌套bean属性,例外:目标不可达,“空”返回null

javax.el.PropertyNotFoundException: /inscription/school-inscription.xhtml @29,91 value="#{createBn.school.adresse.country}": Target Unreachable, 'null' returned null 

这里是视图:

<h:inputText id="name" value="#{createBn.school.name}" pt:placeholder="ex: Dalton" /> 

<h:inputText value="#{createBn.school.creationDate}" pt:placeholder="31-12-2000" /> 

<h:selectOneMenu value="#{createBn.school.adresse.country}" styleClass="form-control"> 
    <f:selectItems value="#{countriesList.countries}" /> 
</h:selectOneMenu>..... 

所以createBn:

@Named 
@SessionScoped 
public class CreateBn implements Serializable{ 
private static final long serialVersionUID = 1L; 

private School school; 

@EJB 
private SchoolPr schoolPr; 

public CreateBn(){ 
    user = new User(); 
    school = new School(); 
} 

public void createSchool(){ 
    schoolPr.createSchool(school); 
} 

,这里是学校实体和A礼服实体:

@Entity 
@Table(schema = "school", name = "school") 
public class School implements Serializable { 
.... 
private String name; 

@OneToOne @JoinColumn(name = "adressId") 
private Adresse adresse; 
//getters +setters 

地址:

@Entity 
@Table(schema = "school", name = "adress") 
class Adresse implements java.io.Serializable { 
.. 
private String country; 
//getters +setters 

PS:我已经在这里看到类似的案件,但没有什么帮助+我删除的大部分代码张贴在这里像ID字段等等,所有的getter和setter方法实现。

回答

0

value="#{createBn.school.adresse.country}" : Target Unreachable, 'null' returned null

这意味着下面的值之一是null

  • #{createBn}
  • #{createBn.school}
  • #{createBn.school.adresse}

createBn看起来不错一见钟情(否则你” d有其他问题也是如此)。 school看起来没问题,因为您使用new School()明确创建了它。但是,我并没有在任何地方看到adresse。相应地修复它。

school.setAdresse(new Adresse());