Я создал класс с именем SpecializationBean
, который имеет два приватных поля:
private ArrayList<SelectItem> specializationItems= new ArrayList<SelectItem>();
private String specializationName;
У меня, конечно, есть геттер и сеттер для этих двоих.
и метод buildSpecializationList
, который создает список specializationItems
: (я вызываю этот метод в геттере):
public void buildSpecializationList(){
List<Object[]> specializations = null;
try{
Session mySession = HibernateUtil.getAdmSessionFactory().getCurrentSession();
Transaction transaction = mySession.beginTransaction();
String sql = "SELECT J_Specialization_ID, Specialization_Name_Ar FROM J_Specialization WHERE J_Department_ID = '1000001'";
Query query = mySession.createSQLQuery(sql).addScalar("id", Hibernate.LONG).addScalar("name", Hibernate.STRING);
specializations = query.list();
}
catch(Exception e){
e.printStackTrace();
}
this.specializationItems = new ArrayList<SelectItem>(90);
for(Object[] sp: specializations ){
this.specializationItems.add(new SelectItem(sp[0],(String) sp[1]));
}
}
Проблема в том, что я получаю исключение нулевого указателя, которое показывает, что список specializations
(определенный в buildSpecializationList()
) является нулевым. Я попробовал запрос сам на столе, и он возвращает результат. Я также попробовал HQL-запрос (istead):
String sqlQuery = "Select JSpecializationId, specializationNameAr FROM JSpecializationWHERE JDepartmentId = '1000001'";
Query q = mySession.createQuery(sqlQuery);
Но все же я получаю исключение нулевого указателя, которое показывает, что запрос возвращает мне нулевой результат. У вас есть предложения?