У меня проблемы с настройкой компонентов управления данными для правильного подключения к MySQL.Вот мои настройки:
JBOSS: 6
UBUNTU: 11.04
EJB: 3.1
Я сейчас пытаюсь получить доступбины сущностей через удаленный вызов JNDI к сессионному бину JARed в корне моего файла EAR.
Мои бины сущности правильно отображаются в мою базу данных и работают в одном файле EAR, однако я хочу использовать те же бины сущности вдругой EAR-файл в том же контейнере, поэтому я JARed мои бины сущности, и я перетаскиваю их во второй EAR-файл, используя мой сценарий сборки.Я извлекаю тот же файл persistance.xml, что и мой первый EAR-файл, и он указывает на тот же XML-источник данных в корневом каталоге моего развертывания.Я могу определить свой контекст персистентности и получить доступ к своим компонентам без ошибок, и я могу скомпилировать и развернуть свой сервер JBoss без каких-либо исключений.Однако я получаю эту ошибку, когда пытаюсь получить доступ к бинам сущностей после развертывания контейнера:
java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [SELECT u FROM User u WHERE u.accountId=:accountId]
Я использую этот запрос:
List<User> users = entityManager.createQuery("SELECT u FROM User u WHERE u.accountId=:accountId")
.setParameter("accountId", accountId)
.getResultList();
Может кто-нибудь сказать мне, если:
- существует проблема с компонентными компонентами JARing
- нужна ли RESTeasy специальная конфигурация для обработки объектных компонентов
- возможно ли даже использоватьБины сущностей JARed
- может возникнуть конфликт конфигурации, если я получаю доступ к одному и тому же источнику данных, используя два отдельных экземпляра одинаковых бинов сущности в одном контейнере
Заранее спасибоза любую помощь с этим.Я действительно застрял.
ДОБАВЛЕНО (20/05/2011):
Итак, теперь я объединил свои сущности и сессионные компоненты в один jar и изменил файл persistence.xml, поэтому включил autoобнаружить свойство, предложенное Наяном ниже:
<property name="hibernate.archive.autodetection" value="class"/>
, но безрезультатно.Я зарегистрировал JAR в своем файле application.xml и добавил JAR к пути к классам в моем сценарии сборки.
Имеет ли смысл помещать файл JAR в корень каталога развертывания и пытаться получить доступ к немуэто оттуда?