- Hibernate - Interceptors
- Hibernate - Batch Processing
- Hibernate - Caching
- Hibernate - Native SQL
- Hibernate - Criteria Queries
- Hibernate - Query Language
- Hibernate - Annotations
- Hibernate - O/R Mappings
- Hibernate - Examples
- Hibernate - Mapping Types
- Hibernate - Mapping Files
- Hibernate - Persistent Class
- Hibernate - Sessions
- Hibernate - Configuration
- Hibernate - Environment
- Hibernate - Architecture
- Hibernate - Overview
- ORM - Overview
- Hibernate - Home
Hibernate Useful Resources
- Hibernate - Discussion
- Hibernate - Useful Resources
- Hibernate - Quick Guide
- Hibernate - Questions and Answers
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Hibernate - Configuration
Hibernate requires to know in advance — where to find the mapping information that defines how your Java classes relate to the database tables. Hibernate also requires a set of configuration settings related to database and other related parameters. All such information is usually suppped as a standard Java properties file called hibernate.properties, or as an XML file named hibernate.cfg.xml.
I will consider XML formatted file hibernate.cfg.xml to specify required Hibernate properties in my examples. Most of the properties take their default values and it is not required to specify them in the property file unless it is really required. This file is kept in the root directory of your apppcation s classpath.
Hibernate Properties
Following is the pst of important properties, you will be required to configure for a databases in a standalone situation −
Sr.No. | Properties & Description |
---|---|
1 |
hibernate.dialect This property makes Hibernate generate the appropriate SQL for the chosen database. |
2 | hibernate.connection.driver_class The JDBC driver class. |
3 | hibernate.connection.url The JDBC URL to the database instance. |
4 | hibernate.connection.username The database username. |
5 | hibernate.connection.password The database password. |
6 | hibernate.connection.pool_size Limits the number of connections waiting in the Hibernate database connection pool. |
7 | hibernate.connection.autocommit Allows autocommit mode to be used for the JDBC connection. |
If you are using a database along with an apppcation server and JNDI, then you would have to configure the following properties −
Sr.No. | Properties & Description |
---|---|
1 | hibernate.connection.datasource The JNDI name defined in the apppcation server context, which you are using for the apppcation. |
2 | hibernate.jndi.class The InitialContext class for JNDI. |
3 | hibernate.jndi.<JNDIpropertyname> Passes any JNDI property you pke to the JNDI InitialContext. |
4 | hibernate.jndi.url Provides the URL for JNDI. |
5 | hibernate.connection.username The database username. |
6 | hibernate.connection.password The database password. |
Hibernate with MySQL Database
MySQL is one of the most popular open-source database systems available today. Let us create hibernate.cfg.xml configuration file and place it in the root of your apppcation s classpath. You will have to make sure that you have testdb database available in your MySQL database and you have a user test available to access the database.
The XML configuration file must conform to the Hibernate 3 Configuration DTD, which is available at
.<?xml version = "1.0" encoding = "utf-8"?> <!DOCTYPE hibernate-configuration SYSTEM "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name = "hibernate.dialect"> org.hibernate.dialect.MySQLDialect </property> <property name = "hibernate.connection.driver_class"> com.mysql.jdbc.Driver </property> <!-- Assume test is the database name --> <property name = "hibernate.connection.url"> jdbc:mysql://localhost/test </property> <property name = "hibernate.connection.username"> root </property> <property name = "hibernate.connection.password"> root123 </property> <!-- List of XML mapping files --> <mapping resource = "Employee.hbm.xml"/> </session-factory> </hibernate-configuration>
The above configuration file includes <mapping> tags, which are related to hibernatemapping file and we will see in next chapter what exactly a hibernate mapping file is and how and why do we use it?
Following is the pst of various important databases dialect property type −
Sr.No. | Database & Dialect Property |
---|---|
1 |
DB2 org.hibernate.dialect.DB2Dialect |
2 |
HSQLDB org.hibernate.dialect.HSQLDialect |
3 |
HypersonicSQL org.hibernate.dialect.HSQLDialect |
4 |
Informix org.hibernate.dialect.InformixDialect |
5 |
Ingres org.hibernate.dialect.IngresDialect |
6 |
Interbase org.hibernate.dialect.InterbaseDialect |
7 |
Microsoft SQL Server 2000 org.hibernate.dialect.SQLServerDialect |
8 |
Microsoft SQL Server 2005 org.hibernate.dialect.SQLServer2005Dialect |
9 |
Microsoft SQL Server 2008 org.hibernate.dialect.SQLServer2008Dialect |
10 |
MySQL org.hibernate.dialect.MySQLDialect |
11 |
Oracle (any version) org.hibernate.dialect.OracleDialect |
12 |
Oracle 11g org.hibernate.dialect.Oracle10gDialect |
13 |
Oracle 10g org.hibernate.dialect.Oracle10gDialect |
14 |
Oracle 9i org.hibernate.dialect.Oracle9iDialect |
15 |
PostgreSQL org.hibernate.dialect.PostgreSQLDialect |
16 |
Progress org.hibernate.dialect.ProgressDialect |
17 |
SAP DB org.hibernate.dialect.SAPDBDialect |
18 |
Sybase org.hibernate.dialect.SybaseDialect |
19 |
Sybase Anywhere org.hibernate.dialect.SybaseAnywhereDialect |