Hibernate supports almost all the major RDBMS. Following is list of few of the database engines supported by Hibernate.
1.HSQL Database Engine
7.Microsoft SQL Server Database
8.Sybase SQL Server Informix Dynamic Server

    Hibernate Architecture:
    The Hibernate architecture is layered to keep you isolated from having to know the underlying APIs. Hibernate makes use of the database and configuration data to provide persistence services (and persistent objects) to the application. 
    Following is a very high level view of the Hibernate Application Architecture.


    Following is a detailed view of the Hibernate Application Architecture with few important core classes.


    Hibernate uses various existing Java APIs, like JDBC, Java Transaction API(JTA), and Java Naming and Directory Interface (JNDI). JDBC provides a rudimentary level of abstraction of functionality common to relational databases, allowing almost any database with a JDBC driver to be supported by Hibernate. JNDI and JTA allow Hibernate to be integrated with J2EE application servers.

    Configuration Object:

    The Configuration object is the first Hibernate object you create in any Hibernate application and usually created only once during application initialization. It represents a configuration or properties file required by the Hibernate. The Configuration object provides two keys components:

    1.Database Connection: This is handled through one or more configuration files supported by    Hibernate. These files are and hibernate.cfg.xml2. Class Mapping Setup   This component creates the connection between the Java classes and database tables.