2014-11-09 4 views
0

У меня есть отношение OneToOne для моего курса Entity.In course create page Я хочу выбрать поле отношения (Учитель) из выпадающего списка (selectOneMenu). как я знаю, для такого рода операций вам нужно реализовать интерфейс Converter.but, но в моем реализованном классе есть проблема. моя доза аннотации EJB не работает. поэтому я не могу получить значение преобразования из моей базы данных.EJB аннотация dosen't работает для selectOneMenu JSF-преобразователь

Учитель соотношение для отображения списка учителя в selectOneMenu.It работает очень хорошо

@ManagedBean 
@ApplicationScoped 
public class TeacherRelation { 

@EJB 
private TeacherFacade teacherFacade; 

public List<Teacher> getAllTeachers() { 
    List<Teacher> teacherList=new ArrayList<Teacher>(); 
    teacherList=teacherFacade.findAll(); 
    return teacherList; 
} 

} 

меню:

<h:selectOneMenu id="teacher" value="#{courseMB.course.teacher}" converter="teacherConvertor"> 
      <f:selectItems value="#{teacherRelation.allTeachers}" id="items" var="teacherV" itemLabel="#{teacherV.lastName}" /> 
     </h:selectOneMenu> 

и, наконец, важно one.The реализован класс

@RequestScoped 
@ManagedBean 
@FacesConverter("teacherConvertor") 
public class TeacherConvertor implements Converter,Serializable { 

/** 
* 
*/ 
private static final long serialVersionUID = 1L; 

@EJB 
private static TeacherFacade teacherFacade; 



@Override 
public Object getAsObject(FacesContext ctx, UIComponent component, String value) { 


    Long id=Long.valueOf(value); 
    return teacherFacade.find(id); 
} 

@Override 
public String getAsString(FacesContext facesContext, UIComponent component, Object value) { 

    return ((Teacher)value).getId().toString(); 
} 

} 

Servlet.service() для сервлета Лица Servlet исключают исключение: java.lang.NullPointerExcepti on is Exception, когда teacherFacade.find выполняет. Фактически, преподавательFacade имеет значение null. Что мне нужно делать?

ответ