import org.hibernate.SessionFactory;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// Create the SessionFactory
Configuration configuration = new Configuration(); // ВОТ ЗДЕСЬ ВАЛИТСЯ
configuration.configure();
configuration.getProperties().list(System.out);
sessionFactory = configuration.buildSessionFactory();
} catch (HibernateException ex) {
throw new RuntimeException("Configuration problem: " + ex.getMessage(), ex);
}
}
public static final ThreadLocal session = new ThreadLocal();
public static Session currentSession() throws HibernateException {
Session s = (Session) session.get();
// Open a new Session, if this Thread has none yet
if (s == null) {
s = sessionFactory.openSession();
session.set(s);
}
return s;
}
public static void closeSession() throws HibernateException {
Session s = (Session) session.get();
session.set(null);
if (s != null)
s.close();
}
}
Настройка Hibernate + Tomcat + MySQL в Idea
Читал мануал здесь: http://www.hibernate.org/hib_docs/reference/ru/html/quickstart.html
Прицепил к проекту файл hibernate3.jar и всю папку /hibernate-3.2/lib.
Положил hibernate.cfg.xml и Cat.hbm.xml (описание класса Cat) в папку WEB-INF.
Как в примере, написал дополнительный класс:
Код:
Запуск сервлета валится на строке Configuration configuration = new Configuration(); с исключением:
Код:
java.lang.NoClassDefFoundError: org/dom4j/DocumentException
at main.HibernateUtil.<clinit>(HibernateUtil.java:19)
at main.Test.doGet(Test.java:27)
at main.HibernateUtil.<clinit>(HibernateUtil.java:19)
at main.Test.doGet(Test.java:27)
Что интересно, в документации написано, что следует импортировать import net.sf.hibernate.cfg.Configuration;
Но у меня IDEA ругается на это; говорит, что нет пакета net.
все просто: надо кидать конфигурационные файлы в src/
и пакеты net.sf заменены на org с версии 3.
Aoli, обращаюсь именно к вам, хотя знаю - в форумах так не принято, но все же, потому что ваши сообщения очень близки к сути моей проблемы, а именно: у меня создан проект в Идее 8.1.3 все библиотеки и конфиг-файлы подключены и написаны, вроде бы все как написано в тюторах про Котов, но вот проблема - на строке session.beginTransaction(); возникает ошибка. Думаю, может чего не запущено или чего не видит раз не может запустить сессию работы с бд(она у меня на Постгресе), но как исправить ума не приложу.