pgjdbc/pgjdbc GitHub issues and pull requests (mirror)
help / color / mirror / Atom feedFrom: monclaf (@monclaf) <[email protected]>
To: pgjdbc/pgjdbc <[email protected]>
Subject: [pgjdbc/pgjdbc] issue #3731: Entity Manager Creation issue with jdbc driver > 42.7.4
Date: Tue, 22 Jul 2025 12:49:39 +0000
Message-ID: <[email protected]> (raw)
Hello,
I use JPA and I get error : "ReportingSQLException : ERREUR: la relation « element » existe déjà" when I use jdbc driver version newer than v42.7.4. That happend when I try to create the entity manager. The database with their tables already exist so I don't understand why the driver try to create table that already exists.
Thanks for any help.
Fred
`EntityManagerFactory emf = Persistence.createEntityManagerFactory(Constants.DB_NAME_PREFIX + Constants.DB_NAME_SUFFIX, properties);
EntityManager em = emf.createEntityManager();`
Persistence.xml :
<persistence-unit name="sinop_db" transaction-type="RESOURCE_LOCAL">
<!-- provider -->
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<properties>
<property name="javax.persistence.lock.timeout" value="10000" /> <!-- in milliseconds -->
<property name="javax.persistence.query.timeout" value="10000" /> <!-- in milliseconds -->
<property name="openjpa.ConnectionDriverName" value="org.postgresql.Driver" />
<property name="openjpa.Multithreaded" value="true" />
<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(foreignKeys=true)" />
<property name="openjpa.jdbc.SchemaFactory" value="native(foreignKeys=true)" />
<property name="openjpa.jdbc.MappingDefaults" value="ForeignKeyDeleteAction=restrict, JoinForeignKeyDeleteAction=restrict" />
<property name="openjpa.Log" value="slf4j" />
</properties>
</persistence-unit>
Context :
postgreSQL v17 - postgresql-42.7.5/6/7.jar - openjpa-all-4.1.1.jar or openjpa-all-4.0.1.jar
Stack trace :
`22-07-2025 13:05:42.109 [pool-6-thread-1] DEBUG [c.t.s.s.p.d.i.f.APersistencedb][openPhaseRemote] dbUrl = jdbc:postgresql://localhost:9917/db_COM
22-07-2025 13:05:42.110 [pool-6-thread-1] INFO [c.t.s.s.p.d.i.f.APersistencedb][openPhaseRemote] {openjpa.ConnectionURL=jdbc:postgresql://localhost:9917/db_COM, openjpa.ConnectionUserName=postgres, openjpa.ConnectionPassword=postgres}
22-07-2025 13:05:52.082 [pool-6-thread-1] ERROR [c.t.s.s.p.d.i.f.APersistencedb][openPhaseRemote] ERREUR: la relation « element » existe déjà {stmnt 445531560 CREATE TABLE element ...))} [code=0, state=42P07]
org.apache.openjpa.persistence.PersistenceException: ERREUR: la relation « element » existe déjà {stmnt 445531560 CREATE TABLE element ...)} [code=0, state=42P07]
at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:625)
at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:488)
at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:173)
at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:178)
at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:134)
at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:166)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.doCreateEM(EntityManagerFactoryImpl.java:282)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:201)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:188)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:178)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:64)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: ERREUR: la relation « element » existe déjà {stmnt 445531560 CREATE TABLE element ...))} [code=0, state=42P07]
at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:219)
at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:203)
at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingStatement.executeUpdate(LoggingConnectionDecorator.java:955)
at org.apache.openjpa.lib.jdbc.DelegatingStatement.executeUpdate(DelegatingStatement.java:123)
at org.apache.openjpa.jdbc.schema.SchemaTool.executeSQL(SchemaTool.java:1375)
at org.apache.openjpa.jdbc.schema.SchemaTool.createTable(SchemaTool.java:1114)
at org.apache.openjpa.jdbc.schema.SchemaTool.buildSchema(SchemaTool.java:660)
at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:565)
at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:400)
at org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:372)
at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:571)
... 19 common frames omitted`
view thread (21+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: github://pgjdbc/pgjdbc
Cc: [email protected], [email protected]
Subject: Re: [pgjdbc/pgjdbc] issue #3731: Entity Manager Creation issue with jdbc driver > 42.7.4
In-Reply-To: <<[email protected]>>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox