Sunday, February 24, 2019

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 supplied 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 application's classpath.

Hibernate Properties

Following is the list 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 application 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 application server context, which you are using for the application.
2
hibernate.jndi.class
The InitialContext class for JNDI.
3
hibernate.jndi.<JNDIpropertyname>
Passes any JNDI property you like 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 application's classpath. You will have to make sure that you have testdb database available in your MySQL database and you have a user testavailable to access the database.
The XML configuration file must conform to the Hibernate 3 Configuration DTD, which is available at http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd.
<?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 list 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

No comments:

Post a Comment

Popular Posts