Class DialectFactory


  • public class DialectFactory
    extends Object
    A factory for generating Dialect instances.
    Author:
    Steve Ebersole, Alfresco
    • Constructor Detail

      • DialectFactory

        public DialectFactory()
    • Method Detail

      • buildDialect

        public static org.hibernate.dialect.Dialect buildDialect​(Properties props,
                                                                 String databaseName,
                                                                 int databaseMajorVersion)
                                                          throws org.hibernate.HibernateException
        Builds an appropriate Dialect instance.

        If a dialect is explicitly named in the incoming properties, it is used. Otherwise, the database name and version (obtained from connection metadata) are used to make the dertemination.

        An exception is thrown if a dialect was not explicitly set and the database name is not known.

        Parameters:
        props - The configuration properties.
        databaseName - The name of the database product (obtained from metadata).
        databaseMajorVersion - The major version of the database product (obtained from metadata).
        Returns:
        The appropriate dialect.
        Throws:
        org.hibernate.HibernateException - No dialect specified and database name not known.
      • determineDialect

        public static org.hibernate.dialect.Dialect determineDialect​(String databaseName,
                                                                     int databaseMajorVersion)
        Determine the appropriate Dialect to use given the database product name and major version.
        Parameters:
        databaseName - The name of the database product (obtained from metadata).
        databaseMajorVersion - The major version of the database product (obtained from metadata).
        Returns:
        An appropriate dialect instance.
      • buildDialect

        public static org.hibernate.dialect.Dialect buildDialect​(String dialectName)
        Returns a dialect instance given the name of the class to use.
        Parameters:
        dialectName - The name of the dialect class.
        Returns:
        The dialect instance.