java ee - No Persistence provider for EntityManager named EmpDb -


i'm getting error:

exception in thread "main" javax.persistence.persistenceexception: no persistence provider entitymanager named employeedb @ javax.persistence.persistence.createentitymanagerfactory(persistence.java:85) @ javax.persistence.persistence.createentitymanagerfactory(persistence.java:54) @ staffmanagement.test.testharness.main(testharness.java:14)

but can't understand why - did identical thing on home pc , had no issues. here code test file:

public class testharness {  public static void main(string[] args) {     entitymanagerfactory emf = persistence.createentitymanagerfactory("empdb");     entitymanager em = emf.createentitymanager();     entitytransaction tx = em.gettransaction();     tx.begin();      employee employee1 = new employee("brad", "pitt", "actor", 10000);     em.persist(employee1);      tx.commit();     em.close(); } 

}

and persistence.xml file:

<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" xmlns="http://java.sun.com/xml/ns/persistence">    <persistence-unit name="empdb"   transaction-type="resource_local">    <class>staffmanagement.domain.employee</class>    <properties>                             <property name="javax.persistence.jdbc.driver"   value="org.apache.derby.jdbc.clientdriver" />         <property name="javax.persistence.jdbc.url"      value="jdbc:derby://localhost:1527/dbname" />          <property name="javax.persistence.jdbc.user"     value="app" />         <property name="javax.persistence.jdbc.password" value="app" />          <property name="eclipselink.logging.level"              value="fine" />          <property name="eclipselink.ddl-generation"             value="create-tables" />         <property name="eclipselink.ddl-generation.output-mode" value="database" />    </properties> 

please me! i'm ripping hair out. i'm using eclipse , derby db. have persistence.xml file in meta-inf folder.

you need wrap in persistence.xml persistence-unit tag.

    <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"     xmlns="http://java.sun.com/xml/ns/persistence">      <persistence-unit name="empdb"> <provider>org.eclipse.persistence.jpa.persistenceprovider</provider>        <class>staffmanagement.domain.employee</class>        <properties>                                 <property name="javax.persistence.jdbc.driver"   value="org.apache.derby.jdbc.clientdriver" />             <property name="javax.persistence.jdbc.url"      value="jdbc:derby://localhost:1527/dbname" />             <property name="eclipselink.target-database" value="derby"/>                           <property name="javax.persistence.jdbc.user"     value="app" />             <property name="javax.persistence.jdbc.password" value="app" />              <property name="eclipselink.logging.level"              value="fine" />              <property name="eclipselink.ddl-generation"             value="create-tables" />             <property name="eclipselink.ddl-generation.output-mode" value="database" />        </properties>     </persistence-unit> 

also, specify persistence provider , target db:

<provider>org.eclipse.persistence.jpa.persistenceprovider</provider> <property name="eclipselink.target-database" value="derby"/>             

Comments

Popular posts from this blog

python - Subclassed QStyledItemDelegate ignores Stylesheet -

java - HttpClient 3.1 Connection pooling vs HttpClient 4.3.2 -

SQL: Divide the sum of values in one table with the count of rows in another -