Моя настройка:
- Библиотека, использующая hibernate для работы с базой данных.(ETM)
- EJB-компонент с локальным интерфейсом для работы с библиотекой.(ETMEJB)
- Веб-приложение с сервлетом, использующим EJB.(ETMWeb)
- Интерфейсы для EJB (локальный элемент списка) ETMEJBClient
- Все это находится внутри EAR.ETMEAR
ETMEAR:
- - ETM
- - ETMEJB
- - ETMEJBClient
- --ETMWeb
Когда я использую библиотеку (ETM) из обычного приложения Java, она работает нормально.
Когда я пытаюсь развернуть все это (JBoss 7.1), я получаю: http://pastebin.com/gDmiFfhL
Я думаю, что это сводится к следующему:
Caused by: org.hibernate.HibernateException: Connection cannot be null
when 'hibernate.dialect' not set
Я думаю, hibernate.cfg.xml не найден.Куда мне его положить?
Я уже положил копию в каждый корень исходного кода каждой части приложения (это глупо, но я в отчаянии), и это не помогает.
Может бытьэто что-то еще?
Спасибо!
Дайте мне знать, если я смогу предоставить больше информации.
РЕДАКТИРОВАТЬ: Мой hibernate.cfg.xml (работает для доступа к библиотеке из Javaприложение): РЕДАКТИРОВАТЬ @ouapdouap: раздел переформатированного кода
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- We're using MySQL database so the dialect needs to MySQL as well-->
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<!-- Database connection settings -->
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:/data/Documents/etm</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- This will drop our existing database and re-create a new one.
Existing data will be deleted! -->
<property name="hbm2ddl.auto">create</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Names the annotated entity class -->
<mapping class="com.leonty.etm.domain.Contract"/>
<mapping class="com.leonty.etm.domain.Employee"/>
<mapping class="com.leonty.etm.domain.Job"/>
<mapping class="com.leonty.etm.domain.Time"/>