hibernate 往oracle数据库里面存数据时 org.hibernate.id.IdentifierGenerationException: this

zisehan 瑞驰互联 软件开发  2015-07-31 10:31:55
oracle数据库id generator必须选为sequence,而id type即使转换成long, integer, short or string这几种类型在oracle里面仍然属于number类型,求解!!
配置文件:
<id name="carId" type="java.math.BigDecimal">
<column name="CAR_ID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">CAR_INFO_SEQ</param>
</generator>
</id>
dao方法:
public void addCarInfo(CarInfo carInfo){
Session session=null;
Transaction tc=null;
try{
//获取一个链接
session=HibernateSessionFactory.getSession();
//打开一个事物
tc = session.beginTransaction();
//调用session方法进行增加操作
session.save(carInfo);
//提交事务
tc.commit();
}catch(Exception e){
e.printStackTrace();
//事务回滚
if(tc!=null){
tc.rollback();
}
}finally{
//关闭session
session.close();
}
}

...全文
82 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zisehan 2015-08-12
把主键设置成String类型问题就解决了
回复
zhuawa_zzl 2015-07-31
应该是你设置了序列,序列为number类型。你把序列去掉应该就能改类型了吧。你试试,我没有试过,但估计是的
回复
迷林 2015-07-31
楼主 你应该把你的错误消息贴出来,才能看到是那块的问题
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-07-31 10:31
社区公告
暂无公告