2011-01-06 2 views
1

У меня довольно странная вещь.весна jpa hibernate неизвестная сущность исключение

Если я очищаю свою целевую папку и запускаю свои тесты, они работают нормально. если запустить ее снова без очистки я получаю следующую ошибку

java.lang.IllegalArgumentException: Unknown entity: com.merc.domain.EventLog 
     at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:675) 
     at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)

Любые идеи, почему это может произойти, если целевая папка имеет только скомпилированные классы. Я использую maven для построения

ответ

0

Для пользователей netbeans это средство для открывания глаз.

У меня есть проект maven в netbeans. Если я удалю файлы в целевой папке и щелкните правой кнопкой мыши мой файл test.java в Netbeans и выберите «тестовый файл». Netbeans запускает команды maven для создания файла и пути к классам, а затем выполняет тест с использованием файлов в тестовых ресурсах, которые отлично работают. Но если классы java уже скомпилированы, Netbeans запускает тесты с ресурсами из папки классов вместо папки тестовых классов. В моем случае в файле persistence.xml в папках-папках отсутствовали несколько деталей, которые мне не нравились, потому что я больше ориентировался на модульные тесты.

0

То же самое, что и в eclipse, вы должны настроить путь сборки, чтобы затмение отмечало, что оно должно искать файлы в правильном каталоге вывода.

Вы также можете настроить свою сборку maven, чтобы она соответствовала тому, где JUnit ищет ваши файлы.

+0

Я пробовал один и тот же тест htat в netbeans с затмением, и он работал в eclipse, это один из способов понять, что проблема связана с netbeans, а не с чем-то другим. – user373201

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