Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to connect hibernate and DB2

I am running an application that used struts and hibernate. I am currently using Derby database. Now i have to shift on DB2 database.

Please tell me

  • what Configuration I have to do in hibernate configuration file?
  • Do I have to set any classpath variable?
  • I know there are two jars for DB2 (db2jcc.jar & db2jcc_license_cu.jar). Is there any other jar I may need?

Thanks in advance.

like image 732
Muhammad Imran Tariq Avatar asked Mar 31 '11 06:03

Muhammad Imran Tariq


2 Answers

It should work with db2jcc.jar

Add below properties to your hibernate.cfg.xml

<property name="hibernate.dialect">org.hibernate.dialect.DB2Dialect</property>

<property name="hibernate.connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>

<property name="connection.url">jdbc:db2://<host>:<port50000>/<dbname></property>

<property name="connection.username">dbusername</property>

<property name="connection.password">dbpassword</property>

Change last 3 properties according to your configuration

like image 66
Hardik Mishra Avatar answered Sep 19 '22 18:09

Hardik Mishra


If your DB2 driver supports JDBC approach (and it does), you need to set connection properties. There are three ways of doing so: via xml, via hibernate.properties file and via programmatic configuration (more specifically, see Hibernate Reference Documentation, chapter 1 and 2. Here is an simple example, how to do this:

Programmatically:

SessionFactory sf = new Configuration()
.setProperty("hibernate.connection.driver_class", "com.ibm.db2.jcc.DB2Driver")
.setProperty("hibernate.connection.url", "jdbc:db2://yourDbServerUrl:port/databaseName")
.setProperty("hibernate.connection.username", "yourUsername")
.setProperty("hibernate.connection.password", "yourPassword")
.buildSessionFactory();

Via hibernate.properties:

hibernate.connection.driver_class = com.ibm.db2.jcc.DB2Driver
hibernate.connection.url = jdbc:db2://yourDbServerUrl:port/databaseName
hibernate.connection.username = yourUsername
hibernate.connection.password = yourPassword
like image 43
Alex Abdugafarov Avatar answered Sep 20 '22 18:09

Alex Abdugafarov