I am trying simple application for persisting object into the DB using JPA-(Hibernate Provider). I am very new to this JPA. I searched a lot on net but not getting solution of my problem. I don't know which Jars are required for this app. Plz resolve this problem. I have been trying this simple app for last 2 days. But it's not working. plz help me. Thank you very much in advance.
This is my code : Entity.java
package com.jpa;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table (name="student")
public class EntityClass
{
@Id
private int id;
private String fName;
private String lName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getfName() {
return fName;
}
public void setfName(String fName) {
this.fName = fName;
}
public String getlName() {
return lName;
}
public void setlName(String lName) {
this.lName = lName;
}
}
this is my MainClass:
package com.jpa;
import java.util.HashMap;
import java.util.Map;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class MainClass {
public static void main(String[] args)
{
EntityClass e= new EntityClass();
e.setfName("BNT");
e.setlName("SOFT");
EntityManagerFactory emFactory = Persistence.createEntityManagerFactory("persistence");
EntityManager eManager = emFactory.createEntityManager();
eManager.getTransaction().begin();
eManager.persist(e);
eManager.getTransaction().commit();
eManager.close();
}
}
and this is my persistence.xml file:
<persistence 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"
version="2.0">
<persistence-unit name="persistence" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!-- <class>com.geowarin.hibernate.jpa.standalone.model.User</class> -->
<class>com.jpa.EntityClass</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/bnt" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="bnt123" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<!-- <property name="hibernate.hbm2ddl.auto" value="create" />
<property name="hibernate.hbm2ddl.import_files" value="sql/import-users.sql" /> -->
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="false" />
</properties>
</persistence-unit>
Whenever I am trying to run MainClass.java it gives following errors:
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.java:107)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:124)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:78)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
at com.jpa.MainClass.main(MainClass.java:29)
... I know something is wrong in adding required jars... I have added following jars:
javax.persistence.jar
mysql-connector-java-5.1.24-bin.jar
hibernate-entitymanager.jar
hibernate.3.3.2.jar
hibernate-commons-annotations-4.0.1.Final.jar
jta-1.1.jar
antlr-2.7.6.jar
dom4j-1.6.1.jar
asm-3.1.jar
hibernate-core-3.5.1-Final.jar
hibernate-annotaions-3.5.1-Final.jar
cglib-2.2.2.jar
Is anything wrong in these Jars? Is it necessary to add more jars? Plz feel free to give any advice if I am doing wrong.