休眠有权选择自动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