2008-11-06 6 views
0

Приложение, которое работает хорошо в течение нескольких месяцев, перестало собирать примечания JPA @Entity, которые были частью этого в течение нескольких месяцев. По мере выполнения моих тестов интеграции я вижу десятки ошибок типа «org.hibernate.MappingException: Unknown entity: com.whatever.OrderSystem».Hibernate/JPA Аннотации - Неизвестная организация

Мне непонятно, что здесь не так.

У меня нет файла hibernate.cfg.xml, потому что я использую Hibernate Entity Manager. Поскольку я исключительно использую аннотации, для моих объектов нет файлов .hbm.xml. Мой файл persistence.xml минимален и живет в META-INF, как и предполагалось.

Я, очевидно, что-то пропустил, но не могу наложить на него свой палец.

Я использую hibernate-аннотации 3.2.1, hibernate-entitymanager 3.2.1, persistence-api 1.0 и hibernate 3.2.1. hibernate-commons-annotations также является частью POM проекта, но я не знаю, насколько это актуально.

Есть ли потерянная запись в web.xml или запись конфигурации Spring, которая случайно удалена?

ответ

2

Кажется, я вспомнил, что у меня была аналогичная проблема в одно время.

Его длинный снимок, но если вы еще этого не делаете, указали ли вы конкретно поставщика, которого используете?

<persistence ...> 
    <persistence-unit ...> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> <---- explicit setting 
     .... 
    </persistence-unit> 
</persistence> 

В противном случае, я не уверен?

+0

Это разрешило это. Спасибо. Я до сих пор не понимаю, почему он спонтанно прекратил работать, но я рад, что у меня есть решение. – 2008-11-06 20:38:04

5

проверить в вашей сущности Классе, что вы импортировать javax.persistent.Entity и не org.hibernate.annotations.Entity

0

Это происходит для одного конкретного класса (несколько классов) или всех классов сущностей. Файл persistence.xml содержит список файлов классов и/или jar, которые необходимо отсканировать для сопоставлений @Entity. Если он работал раньше, вы можете быстро развернуть версию persistence.xml, которая работает правильно. Другая проблема может заключаться в том, что он собирает другой файл persistence.xml - вы можете проверить это, введя ошибку (например, сделать xml недействительной) в файле persistence.xml.

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