Hi Jochen,

This will probably be occurring because the Persistence Provider is 
auto-detecting the resource when it is called META-INF/orm.xml. This should be 
overridable in the persistence.xml, but isn’t.

Regards,

Tim


> On 17 Aug 2016, at 15:06, jochenw <jochen.walz.m...@googlemail.com> wrote:
> 
> Hi Timothy,
> 
> using the tasklist-blueprint-cdi example
> (https://github.com/cschneider/Karaf-Tutorial/tree/master/tasklist-blueprint-cdi),
> I have exchanged H2 by PostgreSQL, added an orm.xml, exchanged the
> datasource configuration with one for a PostgreSQL DB, created a PostgreSQL
> DB named tasklist and a schema named tasklist_schema. And it works.
> 
> Then I changed the name of the mapping file from orm.xml to
> tasklist_orm.xml, and it started writing the tables to the public schema.
> 
> So the problem seems to be that with other mapping file names than orm.xml,
> it doesnt work. My changes are attached below.
> 
> Regards,
> 
> Jochen
> 
> persistence.xml:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <persistence version="2.0" 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";>
> 
>    <persistence-unit name="tasklist" transaction-type="JTA">
>        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
> 
> 
> 
> <jta-data-source>osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=tasklist)</jta-data-source>
> 
> 
> 
> <non-jta-data-source>osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=tasklist)</non-jta-data-source>
>               <mapping-file>META-INF/orm.xml</mapping-file>
>        <properties>
>            <property name="hibernate.dialect"
> value="org.hibernate.dialect.PostgreSQLDialect"/>
>            <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
>        </properties>
>    </persistence-unit>
> 
> </persistence>
> 
> 
> 
> orm.xml:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm";
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
> orm_2_0.xsd"
>    version="2.0">
>    <persistence-unit-metadata>
>        <persistence-unit-defaults>
>            <schema>tasklist_schema</schema>
>        </persistence-unit-defaults>
>    </persistence-unit-metadata>
> </entity-mappings>
> 
> 
> 
> org.ops4j.datasource-tasklist.cfg:
> 
> dataSourceName=tasklist
> osgi.jdbc.driver.name = PostgreSQL JDBC Driver-pool-xa
> serverName = localhost
> portNumber = 5432
> databaseName = tasklist
> user = postgres
> password = postgres
> 
> 
> 
> last but not least, a change in the features.xml: replace "pax-jdbc-h2" by
> "pax-jdbc-postgresql"
> 
> 
> 
> 
> 
> --
> View this message in context: 
> http://karaf.922171.n3.nabble.com/Aries-JPA-2-3-0-mapping-file-not-used-tp4047501p4047569.html
> Sent from the Karaf - User mailing list archive at Nabble.com.

Reply via email to