检索自动检测休眠方言(Retrieve auto-detected hibernate dialec

2019-08-18 08:06发布

休眠有权选择自动detetect的hibernate.dialect 。 我怎么能检索自动检测值? 我无法找到这方面的消息。

Answer 1:

您可以从检索它的SessionFactory但你需要将它转换为SessionFactoryImplementor第一:

SessionFactory sessionFactory = ...; // you should have this reference
Dialect dialect = ((SessionFactoryImplementor) sessionFactory).getDialect();

上面的代码将检索当前正在使用的会话工厂,这是,如果它没有明确通过属性指定的自动检测到的实例的话实例。



Answer 2:

从休眠5.2+最合适的方式来获得方言是:

EntityManager em ...
Session session = em.unwrap(Session.class);
SessionFactory sessionFactory = session.getSessionFactory();
Dialect dialect = ((SessionFactoryImplementor) sessionFactory).getJdbcServices().getDialect();


文章来源: Retrieve auto-detected hibernate dialect