Я пытаюсь написать веб-сайт, используя спящий режим для доступа к базе данных. Сохранение я могу нормально работать, однако, когда я пытаюсь вызвать метод getList при выполнении вызова session.createQuery, код просто падает в метод finally, не бросая исключение, оставляя меня немного смущенным!Java, Hibernate getList не работает
код ниже:
public List<Category> getCategories() {
//insertCategory();
System.out.println("in get categories");
List<Category> result = null;
Session session = HibernateUtil.getSessionfactory().openSession();
Transaction transaction = null;
try {
transaction = session.beginTransaction();
Query cats = session.createQuery("from category where is_parent = 1");
result = cats.list();
transaction.commit();
for (java.util.Iterator<Category> it = result.iterator();it.hasNext();){
Category myCategory = it.next();
System.out.println(myCategory);
}
calculateBlueprintSize(result.size());
} catch (HibernateException e) {
// TODO: handle exception
transaction.rollback();
e.printStackTrace();
} catch (Exception ee) {
ee.printStackTrace();
} finally {
session.close();
}
return result;
}
Моя вставка работает отлично (зашиты сейчас просто чтобы доказать, что я могу подключиться к БД)
public void insertCategory() {
Category newCat = new Category();
newCat.setActive(new Integer(1));
newCat.setCategoryDescription("my test category");
newCat.setCategoryName("my cat name");
newCat.setLastUpdatedDate(new Timestamp(new Date().getTime()));
newCat.setParent(new Integer(1));
newCat.setSequence(new Integer(1));
Session session = HibernateUtil.getSessionfactory().getCurrentSession();
try {
session.beginTransaction();
// user.setUserId(new Long(2));
session.save(newCat);
session.getTransaction().commit();
} finally {
session.close();
}
}
Тхи основан на доступ к базе данных MySQL.
Любая помощь будет оценена по достоинству, я не смог найти ничего, что могло бы мне помочь, и я новичок в Hibernate, так что начинаю думать о переключении назад на шаблон DAO, используя собственный SQL-код с ehcache, возможно, лучше всего сделать ....
Благодаря
Matt
Спасибо, но даже если у меня есть: Query cats = session.createQuery ("из категории"); удалив условие where, которое все еще не удается :( – Mattatattat
Если у вас возникнут проблемы с классом, эта проблема исчезнет. –