2013-10-01 4 views
3

Я пытаюсь использовать динамическую модель спящего режима, ниже приведен фрагмент кода для получения сеанса. Я объявил «hibernate.default_entity_mode» «dynamic_map» в hibernate session factory config xml.EntityMode.Map with Hibernate 4.2.6+ Spring 3.2

// Declared at class level 
@Autowired 
private SessionFactory sessionFactory; 

//In specific java-method 
Session pojoSession = sessionFactory.getCurrentSession(); 
Session ds = pojoSession.getSession(EntityMode.MAP); 

Тем не менее, я получаю исключение в упадке saying- «The method getSession(EntityMode) is undefined for the type Session» на второй линии, пытаясь получить dynamicSession от pojoSession.

Я использую Hibernate 4.2.6. Финальное ядро ​​и сущность-менеджер & весна 3.2 каркасные банки.

Может ли кто-нибудь помочь в том, что я делаю неправильно?

Обновление: Похоже, этот метод фактически отсутствует в 4.2.6 org.hibernate.Session класс. Кроме того, проверены более ранние версии 4.2.1, 4.2.3 и т. Д., Но не видят метода getSession(), определенного для класса Session. Не уверен, что функция удалена. Может ли кто-нибудь помочь в том, что является последней версией hibernate, поддерживающей EntityMode.MAP?

Спасибо!

+0

Вы проверили, есть ли у вас правильный экземпляр сеанса, который вы используете? –

+0

Можете ли вы объяснить, что вы подразумеваете под правильным экземпляром сеанса? В методе есть только одна переменная (pojoSession), из которой я пытаюсь получить динамический сеанс. – Pankaj

+0

В большинстве случаев эти исключения возникают при импорте объекта Session другого пакета. Убедитесь, что вы импортировали org.hibernate.Session –

ответ

0

Ошибка eclipse может вводить в заблуждение, если у вас неправильная библиотека спящего режима в проекте eclipse. Проверьте версию hibernate в проекте eclipse, и если вы используете maven, тогда скомпилируйте с помощью maven из командной строки.

+0

Пробовал из командной строки, все та же ошибка. "[ОШИБКА]: метод getSession (org.hibernate.EntityMode)" – Pankaj

+0

В Hibernate отсутствует Session.getSession (EntityMode entityMode). Проверьте эту ссылку http://docs.jboss.org/hibernate/orm/4.2/ javadocs/index.html? org/hibernate/Session.html – Gaurav

+0

Подробнее об этом: https://hibernate.atlassian.net/browse/HHH-7901. – Gaurav

0

Pankaj, я думаю, что hibernate полностью программно удалил настройку сущности. Единственный способ - создать отдельную фабрику сеанса с режимом сущности, настроенным в файле конфигурации.

+0

Gaurav, хотя я согласен с вами, что меня смущает эта ссылка «https://hibernate.atlassian.net/browse/HHH-7714». URL, который вы опубликовали, был обновлен в январе, где, как кажется, Brad Koehn добавил патч к 4.2.1/4.3.0Beta для тех же требований в июле 2013 года. Не уверен, был ли этот патч перенесен в репозиторий Jboss Maven или нет. Если нет, может кто-нибудь помочь мне в том, как я могу использовать патч с hibernate 4.2. – Pankaj

Смежные вопросы