java - cómo conectar hibernate y DB2
struts (3)
Estoy ejecutando una aplicación que utiliza struts e hibernate. Actualmente estoy usando la base de datos Derby. Ahora tengo que cambiar en la base de datos DB2.
Por favor dime
- ¿Qué configuración tengo que hacer en el archivo de configuración de hibernación?
- ¿Tengo que establecer cualquier variable classpath?
- Sé que hay dos jar para DB2 ( db2jcc.jar y db2jcc_license_cu.jar ). ¿Hay algún otro frasco que pueda necesitar?
Gracias por adelantado.
Debería funcionar con db2jcc.jar
Agregue las siguientes propiedades a su 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>
Cambie las últimas 3 propiedades según su configuración
Si su controlador de DB2 admite el enfoque JDBC (y lo hace), debe establecer las propiedades de conexión. Hay tres formas de hacerlo: a través de xml, a través del archivo hibernate.properties
y a través de la configuración programática (más específicamente, vea la Documentación de referencia de Hibernate , capítulos 1 y 2. Aquí hay un ejemplo simple, cómo hacer esto:
Programado:
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();
A través de 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
Tendría que necesitar el controlador (no sé si los frascos que tiene son suficientes, pero podría ser el caso) en el classpath y establecer el dialecto de la base de datos en org.hibernate.dialect.DB2Dialect
en su persistence.xml
.
En JBoss normalmente solo es necesario colocar el controlador en el directorio lib del servidor o en el directorio lib de la aplicación.