Я пытаюсь написать класс конвертера, который будет конвертировать между объектом Employee
и String (для отображения). Конечная цель состоит в том, чтобы иметь поле SelectOne в форме, которая отображает список всех номеров сотрудников в базе данных.Доступ к EntityManager из класса JSF Converter
Вот что я до сих пор:
@FacesConverter(value = "employeeConverter")
public class EmployeeConverter implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
Employee tmp = Helper.findEmployee(em, value);
return tmp;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
Employee tmp = (Employee) value;
return tmp.getEMPLOYEE_NUMBER();
}
}
Итак, вопрос, который я бегу в том, что Helper
класс (который в основном выполняет запросы SQL для меня - я могу включить его в случае необходимости) требует, чтобы Я передаю его EntityManager
. Как я выяснил при поиске, я не могу просто включить EntityManager в этот класс, потому что он находится за пределами «области» веб-материала.
Я новичок в использовании Java для Интернета и очень новичок в использовании баз данных с Java. Может кто-то объяснить, как я могу использовать конвертер таким образом, чтобы запрашивать мою базу данных и иметь в нем поле «Выбор» с номерами сотрудников.
Это похоже на то, что сработает. Я дам ей шанс и дам вам знать. Благодаря! – n0pe