Существует способ установить JNDI-имя SessionFactory в файле hibernate.cfg.xml. Однако, если я не использую JNDI явно для получения моего SessionFactory вообще в своем веб-приложении, не может ли я дать ему имя JNDI?Hibernate: Нельзя ли привязать SessionFactory к имени JNDI?
Причина, по которой я спрашиваю, заключается в том, что если я не настроил свое имя JNDI, мои тесты JUnit будут работать нормально. Но если я установить его лишь указанием «имя» в SessionFactory тег в hibernate.cfg.xml, он будет первым сказать:
WARN [WebApp:SessionFactoryObjectFactory.addInstance] Could not bind factory to JNDI
и сгенерирует исключение:
javax.naming.NoInitialContextException:Need to specify class name in environment or system property, or as an appletparameter, or in an application resource file:
Так мне нужно удалить JNDI-имя из моего hibernate.cfg.xml, но не знаю, вызовет ли это другие проблемы или нет?
+1 Это то, что я сделал. –
Как вы это делаете? Как вы указываете в Java использовать другой файл сопоставления для модульных тестов? –
Вы можете либо изменить путь к классу, либо включить один файл конфигурации, либо вы можете создать SessionFactory в Java с определенным конфигурационным файлом с Configuration.configure («hibernate-test.cfg.xml»). –