如何连接hibernate和DB2
我正在运行一个使用struts和hibernate的应用程序。 我目前正在使用Derby数据库。 现在我必须转向DB2数据库。
请告诉我
- 我在hibernate配置文件中需要做什么配置?
- 我是否必须设置任何classpath变量?
- 我知道DB2有两个jar( db2jcc.jar和db2jcc_license_cu.jar )。 我还需要其他jar子吗?
提前致谢。
它应该与db2jcc.jar一起使用
将以下属性添加到hibernate.cfg.xml
org.hibernate.dialect.DB2Dialect com.ibm.db2.jcc.DB2Driver jdbc:db2://:/ dbusername dbpassword
根据您的配置更改最后3个属性
如果您的DB2驱动程序支持JDBC方法(并且确实如此),则需要设置连接属性。 有三种方法:via xml, hibernate.properties
文件和编程配置(更具体地说,参见Hibernate Reference Documentation ,第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
您必须在类路径上需要驱动程序(我不知道您拥有的jar是否足够,但可能就是这种情况)并在persistence.xml
中将数据库方言设置为org.hibernate.dialect.DB2Dialect
。
在JBoss中,通常只需要将驱动程序放入服务器的lib目录或应用程序的lib目录中。