java hibernate struts db2

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.