как связать hibernate и DB2 - PullRequest
8 голосов
/ 31 марта 2011

Я запускаю приложение, которое использует Struts и Hibernate.Я в настоящее время использую базу данных Derby.Теперь мне нужно переключиться на базу данных DB2.

Скажите, пожалуйста

  • , какую конфигурацию мне нужно выполнить в файле конфигурации hibernate?
  • Нужно ли устанавливать какие-либоПеременная classpath?
  • Я знаю, что для DB2 есть две банки ( db2jcc.jar & db2jcc_license_cu.jar ).Может, мне понадобится еще какая-нибудь банка?

Заранее спасибо.

Ответы [ 3 ]

18 голосов
/ 31 марта 2011

Должно работать с db2jcc.jar

Добавить следующие свойства к вашему 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>

Изменить последние 3 свойства в соответствии с вашей конфигурацией

2 голосов
/ 31 марта 2011

Если ваш драйвер DB2 поддерживает подход JDBC (и он поддерживает), вам нужно установить свойства соединения. Есть три способа сделать это: через xml, через hibernate.properties файл и через программную конфигурацию (более конкретно, см. Справочная документация Hibernate , главы 1 и 2. Вот простой пример, как это сделать :

Программный:

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();

Через 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
0 голосов
/ 31 марта 2011

Вам понадобится драйвер (я не знаю, достаточно ли у вас банок, но это может быть так) на пути к классам и установите диалект базы данных на org.hibernate.dialect.DB2Dialect в вашем persistence.xml.

В JBoss обычно необходимо только поместить драйвер в каталог lib сервера или в каталог lib приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...