Retrieve auto-detected hibernate dialect

dialect, hibernate

Solution

You can retrieve it from the SessionFactory but you'll need to cast it to SessionFactoryImplementor first:

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

The above will retrieve the dialect instance currently being used by session factory, which is the auto detected instance if it wasn't explicitly specified via properties.

Problem

Hibernate has the option to auto-detetect the `hibernate.dialect`. How can I retrieve that auto-detected value? I was unable to find any information on this.

Original source