package cn.jbit.ejbjpa.test; import java.sql.Connection; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.ejb.Ejb3Configuration; import org.hibernate.ejb.HibernateEntityManager; import org.hibernate.ejb.HibernateEntityManagerFactory; public class Test2 { public static void main(String[] args) { Ejb3Configuration cfg = new Ejb3Configuration(); EntityManagerFactory emf = cfg.buildEntityManagerFactory(); // 使用Hibernate原生Configuration Configuration hcfg = cfg.getHibernateConfiguration(); HibernateEntityManagerFactory hibemf = (HibernateEntityManagerFactory) emf; // 使用Hibernate原生SessionFactory SessionFactory sessionFactory = hibemf.getSessionFactory(); EntityManager em = emf.createEntityManager(); // 使用Hibernate原生Session HibernateEntityManager hibem = (HibernateEntityManager) em; Session session = hibem.getSession(); // 方法2 // Session session2 = (Session) hibem.getDelegate(); // 极少情况下,能够从Hibernate Session退出到简单的JDBC接口 // Connection jdbcConnection = session.connection(); } }这最后一个选项有一些警告:不允许你关闭从Hibernate中获得的JDBC Connection——它会自动进行。
@Resource(mappedName="java:/BdqnDS") DataSource ds;目前为止,假设你是在一个没有涉及遗留应用程序代码(或者现有的数据库Schema)的新Hibernate或者新JPA项目上进行。现在转换一下视角,考虑一个自底而上的开发过程。在这样一个场景中,你或许想要自动地从现有的数据库Schema中反射工程所需要创建的东西。
Hibernate实战_笔记13(切换回Hibernate接口),布布扣,bubuko.com
Hibernate实战_笔记13(切换回Hibernate接口)
原文:http://blog.csdn.net/com185272358/article/details/20923059