spring+hibernate save() 无效

spring+hibernate save() 无效

今天整合Spring 和 hibernate 时候 save() 无报错 但是没有存入到数据库 花了两个小时 找答案 (本人小白);现整理问题和解决办法如下,望能给有同样问题的学友一点思路:
1、@Transactional 注解失效
2、save()方法无报错 但未存入数据库 注:我的实体类的 配置文件 里面id生成规则是 uuid;刚开始上网说是 因为事务未开启 所以执行成功 但是没有保存到数据库,我测试了手动开启事务 然后 保存 然后成功了 这是我意识到是事务的问题 开始有了大的方向 然后我解决这个问题就是在和配置事务较真。。

解决办法

  1. 第一个问题:
    web.xml 添加下列代码 (服务于事务的使用)在这里插入图片描述
    在整合Spring和Hibernate的配置文件里面(我的文件的名字是 applicationContext.xml)添加下列内容:在这里插入图片描述
    然后在对应的service类上面 注解即可。
  2. 正常来说,上面的配置应该就可以了 但是我这里还是不行 后来 百度了好多 找到了一种解释 : 如果主键生成策略是uuid等不是由数据库生成的,则session.save()时并不会发出SQL语句,只有flush时才会发出SQL语句,但如果主键生成策略是native由数据库生成的,则session.save的同时就发出SQL语句。 然后 我在将保存的代码修改如下 :在这里插入图片描述
    结果可以正常保存到数据库了 。。写的 有点简略 ,有异议的朋友可以联系我讨论。0.o
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值