hibernate + DB2 数据源配置及对象映射配置
来源:互联网 发布:河北11选5遗漏数据 编辑:程序博客网 时间:2024/05/13 17:57
这篇文章就是想简单分享对于hibernate3+db2项目的一些配置信息,包括两个东西 实体类的ID生成策略配置,和数据源连接配置以及必备的jar文件
最近独立做了一个会议室管理系统,项目的技术架构 struts2 +hibernate3.2 +spring2.5 ,客户的生成环境上的数据库是DB2的,
但一个月前开发的时候本机已经装好了oracle数据库,就没有再去装DB2的库然后做开发,因为我觉得既然用了hibernate的话
到时候也就是改个配置的问题。
其实换数据库平台的时候也确实就是换个hibernate配置的问题,但是问题却没有那么简单,DB2这东西不太好玩,总是个种问题
1、首先是数据库连接配置的,我采用的是type4,数据库版本是DB v9.5,配置信息为
Driver Name:com.ibm.db2.jcc.DB2Driver
URL: jdbc:db2://ServerIP:50000/databasename,但是项目一启动就报错了,说是JDK版本不支持的问题,
网上有篇文掌介绍说是你得把服务器的JDK版本换成IBM的JDK,最后我把TOMCAT的JDK也换成了IBM JDK
最后倒腾了一天,还是报错,心灰意冷,不想搞了 。因为那一天是上周五了,放假休息忘记这特烦人的茬吧
况且做项目的过程中
今天上班还得接着做这事儿,我把V9.5的库给卸载了,然后装上了V9.7的,然后配置还是和上面一样,
然后数据库连接的JAR包拷贝了db2java.zip、db2jcc_license_cu.jar、db2jcc.jar这三个jar包到lib目录下,然后启动项目
所幸的是这次启动没报错,而且表也给我自动生成了(因为我配置了<prop key="hibernate.hbm2ddl.auto">update</prop>)这个属性
到这里没报错我也不想在去纠结原因了。
2、但是问题又来了,项目运行起来后,前台页面点击添加操作无法往数据库连接数据,然后后台报错:hibernate无法从数据库获取一个ID值
我一看我的实体ID的生成策略为
@Id
@GeneratedValue
网上的解决办法是把ID的字段设置成自增长就可以了,反正貌似DB2上不行,ID自增长的是应该是Mysql数据库,
然后我就去搜索了hibernate的id其他生成策略,看完之后,许多作者都推荐uuid的生成方式。对DB2也支持
于是我又把id的生成方式改成了
@Id
@GenericGenerator(name="idGenerator", strategy="uuid") //这个是hibernate的注解
@GeneratedValue(generator="idGenerator") //使用uuid的生成策略
项目启动,表确实能生成生成出来了,但是错误还是同上面一样,hibernate无法往id字段里面set一个值,然后保存到库里,
NND的真是烦死人,IBM的东西觉得让人蹩脚,然人来火,
没办法啊,客户生产环境就是DB2,而且自己的项目也开发完成了,反正这配置怎么着都必须给弄成功出来,
然后我又看到序列的生成方式,因为序列DB2和oracle都能支持,于是就果断选择了这种方式
然后配置信息改成了
@Id
@SequenceGenerator(name="sequenceGenerator",sequenceName="ACTIVITIESSCOPE_SEQ")
@GeneratedValue(generator="sequenceGenerator",strategy=GenerationType.SEQUENCE)
@Column(name = "ID", unique = true, nullable = false, precision = 10, scale = 0)
所幸的是这次启动后,就能正常往数据库添加数据了,oh god,算是一个小小的成功吧,接着测功能,
看其他SQL语句有没有不支持的地方,然后继续写文章发感想。
- hibernate + DB2 数据源配置及对象映射配置
- Tomcat db2 配置数据源
- myeclipse配置DB2数据源
- myeclipse配置DB2数据源
- hibernate对象关系映射配置
- Hibernate关联映射及配置
- DB2数据源配置及POWERDESIGNER配置反向生成
- Tomcat6配置C3P0数据源及Hibernate整合
- hibernate动态读取配置及创建数据源
- WAS CE命令行配置DB2数据源及引用
- 如何安装和配置DB2的ODBC驱动及数据源
- websphere8.5配置db2数据源
- Hibernate中多主键对象映射配置
- hibernate对象关系映射的配置
- hibernate 映射文件配置-对象关系模版
- hibernate 中对象映射关系配置
- hibernate配置两个数据源
- hibernate 数据源配置
- 第14周-任务2-链表类
- clearmake和gnu make都可以检测出来target之间的循环依赖
- oracle 备份笔记
- 数据库和实例
- 项目管理中与客户交流的一些体会
- hibernate + DB2 数据源配置及对象映射配置
- 修改过的提交事务--注意的是语法必须通过编译
- 分析linaro-media-create 创建的qemu模拟sd卡文件。
- UITextField 实现下拉显示自动补全列表
- 来电、接听、挂断、拨打电话
- c# 4.0新特性一览
- Makfile 文件中的.c.o target
- js大全《二》 包含 js拖拽 打印 下载 操作收藏栏等IE工具 等常用js
- zoj 2107