openjpa 介绍
Openjpa 是 apache 组织的开源项目,实现了 ejb3.0 中的 jpa 标准,为开发 者提供功能强大,使用简单的持久化管理框架。Openjpa 封装了和关系型数据库 交互的操作。Openjpa 可以单独作为持久层框架发挥作用,也可以轻松与其他 j2ee 容器或者符合 ejb3.0 标准的容器集成。
openjpa 使用
1. 根据 openjpa 版本,获取正确的 Gbase 字典包。
2. 引入 openjpa 包, gbase 数据库字典包和 jdbc 驱动。
3. 设置 persistence.xml 文件,参考黑色背景设置。
org.apache.openjpa.persistence.PersistenceProviderImpl com.demo1.Bjcy com.demo1.BaseEntity
4. 程序验证 package com.test; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import com.demo1.Bjcy; public class TestJpa { private static EntityManagerFactory emf; private static ThreadLocal threadLocal; public static void main(String[] args) { emf = Persistence.createEntityManagerFactory("JPAJC1"); threadLocal = new ThreadLocal(); Bjcy entity = new Bjcy(); getEntityManager().persist(entity); } public static EntityManager getEntityManager() { EntityManager manager = threadLocal.get(); if (manager == null || !manager.isOpen()) { manager = emf.createEntityManager(); threadLocal.set(manager); } return manager; } }
二、Hibernate 结合 jdbc 的使用
hibernate 介绍
hibernate 是一个对象关系映射框架,它对 jdbc 进行了非常轻量级的封装, 使得开发人员能够以面向对象的方式操作数据库。它屏蔽了不同数据库间的差 异,使得开发人员以统一的方式操作数据库。
hiberante 使用
1. 根据 hibernate 版本获取对应的 dialect 包。
2. 引入 hibernate,dialect 包和 jdbc 驱动包
3. 配置 hibernate.cfg.xml,设置 gbase 使用的方言类,参考黑色背景设 置。 org.hibernate.dialect.GBaseDialect com.gbase.jdbc.Driver jdbc:gbase://192.168.5.66:5258/bhtjdbctest?pro fileSql=true root 1
4. 程序验证 package gbase.hibernate.clienttest; import java.util.List; import junit.framework.TestCase; import org.hibernate.*; import org.hibernate.cfg.Configuration; import org.hibernate.Transaction; public class clientTest extends TestCase{ private SessionFactory sf; Session session = null; PoliceAudit adt = new PoliceAudit(); Transaction tx = null; @Override public void setUp(){ sf = new Configuration().configure().buildSessionFactory(); } @Override public void tearDown(){ if(sf != null){ sf.close(); } } public void testInsertOfCurd() { try{ for (int i=1;i<=5;i++){>} public void testSelectOfCurd(){ try{ session = sf.openSession(); String hql = "from t_police_auditing in class gbase.hibernate.clienttest.PoliceAudit"; Query q = session.createQuery(hql); List ls = q.list(); for (int j=0;j