У меня есть отношение 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. Что мне нужно делать?