Шовный эквивалент Spring PersistenceUnitPostProcessor - PullRequest
1 голос
/ 11 марта 2010

У нас есть очень удобная настройка, использующая JPA через Spring / Hibernate, где мы присоединяем PersistenceUnitPostProcessor к нашей фабрике менеджера сущностей, и этот постпроцессор берет список имен проектов, сканирует путь к классам для jar-файлов, которые содержат это имя, и добавляет эти jar-файлы для сканирования сущностей на единицу сохраняемости, это гораздо удобнее, чем указывать в файле persistence.xml, поскольку он может принимать частичные имена, и мы добавили средства для обнаружения различных конфигураций пути к классам, когда мы работаем в войне, модульный тест , ухо и др.

Теперь мы пытаемся заменить Spring на Seam, и я не могу найти средства для реализации того же механизма перехвата. Одним из решений является попытка подключить Seam через Spring, но у этого решения есть другие недостатки в нашей среде. Поэтому мой вопрос: может ли кто-нибудь указать мне на такую ​​возможность в Seam, если она существует, или, по крайней мере, на то место в коде, которое я должен искать, если я планирую установить патч для Seam?

Спасибо.

1 Ответ

0 голосов
/ 14 июня 2011

Если вы работаете в контейнере Java EE, таком как JBoss 6 (и я действительно рекомендую это), все, что вам нужно, это упаковать ваши bean-компоненты в jar, поместить в него META-INF / persistence.xml и поместить баночка в ваш WAR или EAR пакет. Все аннотированные бобы @Entity внутри банки будут обработаны.

Для модульного тестирования вы можете указать элемент <jar-file> на сгенерированный выходной каталог .class, и Hibernate также выберет сущности. Или даже настроить во время выполнения, используя Ejb3Configuration.addAnnotatedClass;

@see http://docs.jboss.org/hibernate/entitymanager/3.6/reference/en/html/configuration.html

...