У меня есть некая сущность (модель):
@Entity
@Table(name ="task")
public class Task {
    Integer id;
    String name;
    Date start;
    Date end;
    // и тд.
    // ну и соответствующие сеттеры и геттеры тоже присутствуют
}
public interface TaskDAO {
    public void addTask(Task Task) throws SQLException;
    public void updateTask(Task Task) throws SQLException;
    public Task getTaskById(Long id) throws SQLException;
    public List getAllTasks() throws SQLException;
    public void deleteTask(Task Task) throws SQLException;
}
public class TaskDAOImpl implements TaskDAO {
    public void addTask(Task task) throws SQLException {
        Session session = null;
        try {
            session = HibernateUtil.getSession();
            session.beginTransaction();
            session.save(task);
            session.getTransaction().commit();
        } catch (Exception e) {
            System.out.print("Error");
        } finally {
            if (session != null && session.isOpen()) {
                session.close();
            }
        }
    }
    // и тд
}
Теперь я хочу сделать возможность добавления в БД, данные будут браться из формы. Представление надо реализовать на JSF. Я сделал бин следующего вида:
@ManagedBean(name = "addTaskBean", eager=true)
@RequestScoped
public class AddTaskBean {
    Task task;
    public Task getTask() {
        return task;
    }
    //@PostConstruct
    //public void init() { 
    //    task = new Task();
    //}
    public String add() throws SQLException {
        //task = new Task();
        Factory.getInstance().getTaskDAO().addTask(task);
        return "index";
    }
}
<h:form>
    <h:panelGrid columns="2">
        <h:outputLabel value="Имя" for="id_name"/>
        <h:inputText id="id_name" value="#{addTaskBean.task.name}"/>
        <!-- и тд -->
    </h:panelGrid>    
    <h:commandLink action="#{addTaskBean.add}" value="Добавить"/>
</h:form>
@PostConstruct
public void init() { 
    task = new Task();
}
task = new Task();
javax.el.PropertyNotFoundException: /resources/components/gantt/addTask.xhtml @18,73 value="#{addTaskBean.task.name}": Target Unreachable, 'null' returned null
Что делать? Есть ли примеры использования JSF с Hibernate. При этом, мне надо отделить бин от сущности. Т.е. в одном классе будет описываться модель, а в другом классе будет контроллер, который будет добавлять экземпляр в БД и связываться с кнопкой.



