我正在运行一个使用struts和hibernate的应用程序。我目前正在使用Derby数据库。 现在我必须转向DB2数据库。
请告诉我
提前致谢。
答案 0 :(得分:18)
它应该与 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个属性
答案 1 :(得分:2)
如果您的DB2驱动程序支持JDBC方法(并且确实如此),则需要设置连接属性。这有三种方法:通过xml,通过hibernate.properties
文件和通过编程配置(更具体地说,参见Hibernate Reference Documentation,第1章和第2章。这是一个简单的例子,如何做到这一点: / p>
编程:
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
答案 2 :(得分:0)
您必须在类路径上需要驱动程序(我不知道您拥有的jar是否足够,但可能就是这种情况)并在{{org.hibernate.dialect.DB2Dialect
中将数据库方言设置为persistence.xml
1}}。
在JBoss中,通常只需要将驱动程序放入服务器的lib目录或应用程序的lib目录中。