| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Настройка Hibernate через Spring |
| Автор: XEugene 13.2.2009, 13:02 | ||||||||
| Настраиваю Hibernate средствами Spring. При запуске теста для DAO-бина получаю иксепшен:
Хотя открытие сессии должен обеспечивать сконфигурированный SessionFactory. Вот конфиг spring-hibernate.xml, в котором все настраивается
Код теста
TemplateDAO.java
Источник информации - http://www.javabeat.net/articles/42-integrating-spring-framework-with-hibernate-orm-framewo-3.htmlстатья. |
| Автор: AntonSaburov 13.2.2009, 13:50 |
| У тебя сообщение говорит о том, что сессия для Hibernate уже закрылась. Т.е. объект как бы уже "оторван" от базы (от сессии). У него с ней связи нет. Думаю, что объект имеет коллекцию/связь в другими объектами. Т.к. коллекция lazy, то она будет загужаться только тогда, когда это действительно потребуется. И видимо это требуется уже после "отрыва" объекта то сессии. |
| Автор: XEugene 13.2.2009, 14:10 |
| Класс Template пока единственный в моей модели, поэтому связей у него нет. Хотя ошибка вроде действительно говорит о том, что сессия закрылась. Только вот где и когда она была открыта... |
| Автор: XEugene 15.2.2009, 00:13 |
| Проделал всё то же самое дома - работает. Но сейчас я использовал org.springframework.jdbc.datasource.DriverManagerDataSource вместо org.apache.commons.dbcp.BasicDataSource, поскольку мне было лень собирать все необходимые для BasicDataSource либы. Так что возможно проблема была как раз в них. Правда, датасорс у меня всё же создавался и SessionFactory тоже... Добавлено через 11 минут и 24 секунды А может лучше использовать JNDI - датасорс, предоставляемый томкатом? Добавлено через 13 минут и 54 секунды То есть org.springframework.jndi.JndiObjectFactoryBean. |