JPA是ORM规范,hibernate、topLink、jda是ORM框架。JPA类似JDBC,将各个ORM产品规范法,便于移植。
1、引入JAR包
antlr.jarcommons-collections-3.1.jardom4j-1.6.1.jarhibernate-entitymanager.jarhibernate-jpa-2.0-api-1.0.0.Final.jarhibernate3.jarjboss-common.jarjta-1.1.jarslf4j-api-1.5.8.jarslf4j-nop-1.5.8.jarojdbc6.jar
2、新建JPA配置文件,在src下新建文件夹META-INF,文件夹下新建persistence.xml配置文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<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/persistence_1_0.xsd" version="1.0">
<!--
Name属性用于定义持久化单元的名字 (name必选,空值也合法);
transaction-type 指定事务类型(可选)
-->
<persistence-unit name="oracleDB" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" />
<property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" />
<property name="hibernate.connection.username" value="ky" />
<property name="hibernate.connection.password" value="ky" />
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.101)(PORT=1522))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.100)(PORT=1521))(LOAD_BALANCE=yes)(FAILOVER=on))(CONNECT_DATA=(SERVICE_NAME=orcl)))" />
<property name="hibernate.max_fetch_depth" value="3" />
<property name="hibernate.hbm2ddl.auto" value="validate"/>
<property name="hibernate.show_sql" value="true" />
</properties>
</persistence-unit>
</persistence>
3、新建实体类
package com.yd4.struts2.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* @author 作者:xiaoZhi
* @version 创建时间:2013-12-6 下午03:23:36
* @detail
**/
@Entity
@Table(name = "td_xiaozhi_test")
public class Test {
@Id
private String zuhao;
@Column
private String user_name;
public String getZuhao() {
return zuhao;
}
public void setZuhao(String zuhao) {
this.zuhao = zuhao;
}
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
}
4、测试JPA配置是否成功
package com.yd4.struts2.test;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import com.yd4.struts2.entity.Test;
/**
* @author 作者:xiaoZhi
* @version 创建时间:2013-12-6 下午04:07:05
* @detail
**/
public class Main {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("oracleDB");
EntityManager em = emf.createEntityManager();
Query query = em.createQuery("from Test t");
@SuppressWarnings("unchecked")
List<Test> list = query.getResultList();
em.close();
emf.close();
for (Test test : list) {
System.out.println(test.getUser_name());
}
}
}
若上述成功,则配置JPA成功。