Hello All,  I have a very simple jsf page and a backing bean for this jsf, which is implemented in hibernate using Netbeans.  , choose a entry from the list, pressing button, is not executing the backing bean function 'studDet()'. On this situation, the screen just refreshes, the list goes empty, and the backing bean function is not executed.  The same backing bean function ['studDet()']  is executed when nothing is selected from the list. Apparently the logic when implemented via jpa seems to work just perfectly correctly. Can any one provide your insights, as why this problem is occuring. Thanks in advance. Regards, ************** Code ************** <%--     Document   : StudentPage.jsp --%>   <%@page contentType="text/html" pageEncoding="UTF-8"%>   <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>                                         Student Page                                                                                                                                        ********************************************************* // Backing bean   @ManagedBean @SessionScoped public class StudBean implements Serializable  {       private String teacherName;     private List studentList;       // Getter and setter methods omitted     //       public String studSel() {         studentlist = new ArrayList();         List cList = getStudentDetailForTeacher();         if(cList.isEmpty())             return null;                  for (int i = 0; i < cList.size(); i++) {             SelectItem studentid = new SelectItem(cList.get(i).toString());             studentList.add(studentid);         }         return null;     }         public List getStudentDetailForTeacher() {         this.session = HibernateUtil.getSessionFactory().getCurrentSession();         List studentlist = null;         String strQuery = "select c.id.studentId "                 + "from TeacherStudent c WHERE c.id.teacherId = :teachid1";         org.hibernate.Transaction tx = session.beginTransaction();         Query cQuery = session.createQuery(strQuery);           cQuery.setParameter("teachid1", teacherName);         studentlist = (List) cQuery.list();           return studentlist;     }           public void studentCodeChanged(ValueChangeEvent e){         studentId = e.getNewValue().toString();                 System.out.println("studentId = "+studentId);      }         public Boolean studDet() {         System.out.println("studentId id = "+studentId);             return null;     }           }