[ 
https://issues.apache.org/jira/browse/OPENJPA-2886?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Makkus B. updated OPENJPA-2886:
-------------------------------
    Description: 
As I'm very new to OpenJPA I'm not quite sure, if this the follwing is an 
OpenJPA issue but I obeserve that:

When creating a persistence unit via persistence.xml (Tomee 8) openJPA creates 
missing entity tables according to the 
javax.persistence.schema-generation.database.action property. However, Im 
currently testing a 'runtime' datasource configuration like this:

 
{code:java}
Properties props = new Properties();
        props.put("javax.persistence.jtaDataSource", "jdbc/dynamicDb");
        props.put("openjpa.ConnectionDriverName", "org.mariadb.jdbc.Driver");
        props.put("openjpa.ConnectionURL", 
"jdbc:mariadb://localhost:3306/test");
        props.put("javax.persistence.schema-generation.database.action", 
"create");
        EntityManagerFactory factory = 
Persistence.createEntityManagerFactory("test-unit3", props);
        return factory.createEntityManager();{code}
When caling persist() on the created EntityManager I get a rollback excpetion 
due to  missing database tables although 
javax.persistence.schema-generation.database.action is given as "create". When 
debugging I can see, that the 
javax.persistence.schema-generation.database.action property value is 0.

Two questions:

a) It what I am doing a legal way to create an entity manager at all?

b) Why are no tables created in this case ( but are when using the 
persitence.xml)?

 

 

 

  was:
As I'm very new to OpenJPA I'm not quite sure, if this the follwing is an 
OpenJPA issue but I obeserve that:

When creating a persistence unit via persistence.xml (Tomee 8) openJPA creates 
missing entity tables according to the 
javax.persistence.schema-generation.database.action property. However, Im 
currently testing a 'runtime' datasource configuration like this:

 
{code:java}
Properties props = new Properties();
        props.put("javax.persistence.jtaDataSource", "jdbc/dynamicDb");
        props.put("openjpa.ConnectionDriverName", "org.mariadb.jdbc.Driver");
        props.put("openjpa.ConnectionURL", 
"jdbc:mariadb://localhost:3306/test");
        props.put("javax.persistence.schema-generation.database.action", 
"create");
        EntityManagerFactory factory = 
Persistence.createEntityManagerFactory("test-unit3", props);
        return factory.createEntityManager();{code}
When caling persist() on the created EntityManager I get a rollback excpetion 
due to  missing database tables although 
javax.persistence.schema-generation.database.action is given as "create". When 
debugging I can see, that the 
javax.persistence.schema-generation.database.action property on value is 0.

Two questions:

a) It what I am doing a legal way to create an entity manager at all?

b) Why are no tables created in this case ( but are when using the 
persitence.xml)?

 

 

 


> javax.persistence.schema-generation.database.action setting seems to be 
> ignored when using Persistence.createEntityManagerFactory()
> -----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-2886
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2886
>             Project: OpenJPA
>          Issue Type: Question
>          Components: jpa
>    Affects Versions: 3.1.2
>         Environment: TomEE 8.0.6 (and 8.0.9-SNAPSHOT), Netbeans 12.5, MS 
> Windows 10
>            Reporter: Makkus B.
>            Priority: Major
>
> As I'm very new to OpenJPA I'm not quite sure, if this the follwing is an 
> OpenJPA issue but I obeserve that:
> When creating a persistence unit via persistence.xml (Tomee 8) openJPA 
> creates missing entity tables according to the 
> javax.persistence.schema-generation.database.action property. However, Im 
> currently testing a 'runtime' datasource configuration like this:
>  
> {code:java}
> Properties props = new Properties();
>         props.put("javax.persistence.jtaDataSource", "jdbc/dynamicDb");
>         props.put("openjpa.ConnectionDriverName", "org.mariadb.jdbc.Driver");
>         props.put("openjpa.ConnectionURL", 
> "jdbc:mariadb://localhost:3306/test");
>         props.put("javax.persistence.schema-generation.database.action", 
> "create");
>         EntityManagerFactory factory = 
> Persistence.createEntityManagerFactory("test-unit3", props);
>         return factory.createEntityManager();{code}
> When caling persist() on the created EntityManager I get a rollback excpetion 
> due to  missing database tables although 
> javax.persistence.schema-generation.database.action is given as "create". 
> When debugging I can see, that the 
> javax.persistence.schema-generation.database.action property value is 0.
> Two questions:
> a) It what I am doing a legal way to create an entity manager at all?
> b) Why are no tables created in this case ( but are when using the 
> persitence.xml)?
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to