Несколько тегов с сохранением единицы в одном файле persistence.xml
Сейчас я работаю с проектом JPA 2.0 (в Eclipse Indigo). В моем файле persistence.xml мне нужно указать два тега , потому что у меня есть две разные базы данных для работы. Выполняя это, я получаю следующее предупреждение:
Определено несколько единиц измерения продолжительности - будет распознан только первый блок персистентности
Более того, если я создаю свои сущности и поместил их в свой второй элемент < персистентность > , я получаю сообщение об ошибке, указывающее, что мой объект не объявлен в единицах сохранения:
Класс "my.package.MyClass" отображается, но не включен в какой-либо блок сохранения
Итак, возникает вопрос: можно ли объявлять (и использовать их как ожидалось) много тегов в файле persistence.xml? Если да, что мне нужно сделать для получения точного поведения?
Спасибо!
Ответы
Ответ 1
JPA не ограничивает количество единиц продолжительности, определенных в persistence.xml. Это предупреждение просто говорит об ограничении инструмента в Eclipse IDE. Об этом сказано, например, здесь http://www.eclipse.org/webtools/dali/gettingstarted.php:
В настоящее время Дали поддерживает только одну группу сохранения и одну стойкость XML файл для каждого проекта. Другие конфигурации могут существовать в проекте JPA, но проверка и обработка по умолчанию могут быть неверными, если используются несколько единиц сохранения.
Я думаю, что нет никакой известной возможности получить эту работу в Eclipse IDE.
Ответ 2
Хотя это JPA действует, вы также можете отключить полученные (раздражающие) уведомления об ошибках по каждому проекту, перейдя в
Project Properties => JPA => Errors/Warnings
Активируйте Enable project specific settings
и под Type
, измените уровень уведомления для Class is mapped but is not in a persistence unit
с Error
на все, что вам удобно.
Обновление для Eclipse Luna:
Местоположение и название настройки изменились в Luna. Новое местоположение:
Project Properties => JPA => Errors/Warnings
Проверьте Enable project specific settings
Развернуть Project
группу
Измените Multiple persistence units defined:
на Ignore
.
![enter image description here]()