Johan Parker created OPENJPA-2878: ------------------------------------- Summary: <openjpa-3.1.2-r66d2a72 fatal user error> org.apache.openjpa.persistence.ArgumentException: The persistence provider is attempting to use properties in the persistence.xml file to resolve the data source ... Key: OPENJPA-2878 URL: https://issues.apache.org/jira/browse/OPENJPA-2878 Project: OpenJPA Issue Type: Bug Components: jpa Affects Versions: 3.1.2 Reporter: Johan Parker
{code:java} <openjpa-3.2.0-r6f721f6 fatal user error> org.apache.openjpa.persistence.ArgumentException: The persistence provider is attempting to use properties in the persistence.xml file to resolve the data source. A Java Database Connectivity (JDBC) driver or data source class name must be specified in the openjpa.ConnectionDriverName or javax.persistence.jdbc.driver property. The following properties are available in the configuration: "org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl@393fa2d". org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:70) org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:925) org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:649) org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1540) org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:531) org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:456) org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:123) org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68) org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:84) org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:1113) org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:1102) org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:657) org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:207) org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:166) org.apache.openjpa.persistence.EntityManagerFactoryImpl.doCreateEM(EntityManagerFactoryImpl.java:282) org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:201) org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:188) org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:178) org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:64) GPMWS.getJPA(GPMWS.java:26) {code} using Tomee 8.0.6; openjpa3.1.2; Eclipse for java ee 2020 r12 here is the GPMWS.java {code:java} @Path("/") public class GPMWS { @GET @Path("/getJPA") @Produces(MediaType.APPLICATION_JSON) public List<JPA> getJPA() { EntityManager entityManager = JPAboot.getEntityManagerFactory().createEntityManager(); TypedQuery<JPA> query = entityManager.createNamedQuery("getJPA", JPA.class); List<JPA> results = query.getResultList(); return results; } {code} here is JPAboot.java {code:java} public class JPAboot { private static final String PERSISTENCE_UNIT_NAME = "JPAPER"; private static EntityManagerFactory factory; public static EntityManagerFactory getEntityManagerFactory() { if (factory == null) { factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME); } return factory; } public static void shutdown() { if (factory != null) { factory.close(); } } }{code} here JPA.java {code:java} @Entity @Table(name = "JPAs") @NamedQuery(name="getJPA", query="SELECT j FROM JPAs j") public class JPA { @Id @Column(name = "id") private int id; @Column(name = "desc") private String desc; public JPA() { } public JPA(int id, String desc) { super(); this.id = id; this.desc = desc; } public String getid() { return this.id; } public String getdesc() { return this.desc; } public void setid(int id) { this.id = id; } public void setdesc(String desc) { this.desc = desc; } }{code} mysqlconnector8.0.21 jar is under WEB-INF/lib/ here is persistence.xml(which is under META-INF/) {code:java} <persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd" version="2.1"> <persistence-unit name="JPAPER"> <description>openjpa</description> <class>JPA</class> <properties> <property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver" /> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/jpatest" /> <property name="javax.persistence.jdbc.user" value="root" /> </properties> </persistence-unit> </persistence>{code} I think OPENJPA-1495 issue may refer to the same thing, but was just ignored -- This message was sent by Atlassian Jira (v8.3.4#803005)