OK to moze tak: mam pewien projekt, ktory podzielilem sobie na podprojekty (mavenowe moduly). Kiedy otworze ten projekt w eclipse widze kilka odrebnych projektow. Lista projektow prezentuje sie mniej-wiecej tak:
moja-aplikacja
moja-aplikacja-ear
moja-aplikacja-war
moja-aplikacja-ejb-1
moja-aplikacja-ejb-2
...
moja-aplikacja-ejb-n
Kazdy modul, ktory ma w nazwie "ejb" realizuje jakies odrebne zalozenia. W kazdym z nich mozna znalezc encje, ktore sa silnie powiazane z zalozeniami tego modulu i nie sa powiazane z zalozeniami reszty modulow (tj. modul 1 posiada encje potrzebne tylko w module 1, modul 2 posiada encje, ktore sa potrzebne tylko w module 2 itp.). W kazdym z tych modulow mozna znalezc rowniez plik persistence.xml i to mi sie wlasnie nie podoba.
Nie podoba mi sie, ze plik persistence.xml znajduje sie w kazdym module EJB poniewaz plik ten jest po prostu powielony. Zamiast tworzyc "n" plikow persistence.xml moglbym po prostu stworzyc jeden.
Dodam, ze moj plik persistence.xml wyglada tak:
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="[nazwa zrodla]">
<jta-data-source>java:jboss/datasources/[nazwa zrodla danych]</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="create"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
Pytanie sprowadza sie wiec do postaci: co zrobic, zeby nie musiec powielac pliku persistence.xml? A moze dobrze robie, ze go powielam?