如何从hibernate会话获取jdbc连接?
我想从hibernate session中获得jdbc连接。hibernate session里面有方法ie session.connection(); 但已被弃用。 我知道这仍然工作,但我不想使用不推荐的方法,因为我相信他们必须提供一些替代这个? 在http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Session.html连接方法API说使用org.hibernate.jdbc.Work为此目的,但我没有find任何这样的例子?
以下是你如何使用它:
session.doWork(new Work() { @Override public void execute(Connection connection) throws SQLException { //connection, finally! } });
尝试这个:
((SessionImpl)getSession()).connection()
我有一个类似的问题,我用ConnectionProvider
类来获得连接。 看我的解决scheme:
Session session = entityManager.unwrap(Session.class); SessionFactoryImplementor sessionFactoryImplementation = (SessionFactoryImplementor) session.getSessionFactory(); ConnectionProvider connectionProvider = sessionFactoryImplementation.getConnectionProvider(); try { connection = connectionProvider.getConnection(); ... }
- hibernate/春季:未能懒惰地初始化 – 没有会议或会议被closures
- Spring Boot + JPA:忽略列名称注释
- 注解@Id和@GeneratedValue(strategy = GenerationType.IDENTITY)有什么用? 为什么生成types是身份?
- 将postgreSQL JSON列映射到Hibernate值types
- Hibernate,iBatis,Java EE或其他Java ORM工具
- 使用Hibernate的ScrollableResults缓慢读取9000万条logging
- Apache Commons equals / hashCode builder
- JPA中的多个唯一约束
- ConcurrentModificationException和一个HashMap