2014-09-04 55 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());