getHibernateTemplate 修改和删除操作失败的解决办法

hibernateTemplate delete()失效的问题 今天在做一个Spring项目的时候,碰到了hibernateTemplate.delete()执行后数据库没有变化的情况,搜索了半天,最后解决了问题,具体原理我还没搞明白,现在就分享下我挣扎时的代码。 最开始时,dao层代码如下: @Autowired private HibernateTemplate hibernateTemplate; @Override ... 阅读详情




问题描述:



    近期根据需求架构了一个小型项目,由于是公司内部使用,没有考虑三高(即高并发、高可用、高扩展),所以使用了SSH(Spring\Struts\Hibernate)进行开发的,主体架构完成后,开始对业务进行CRUD的操作,DAO实现层都是继承自 HibernateDaoSupport 并实现了DOA接口层,其中的部分CRUD通过调用 Hibernate 的模板 getHibernateTemplate 实现的。

    可以正常执行业务数据的添加操作,但是在对业务数据进行修改和删除时失败,但页面和后台无异常的日志输出,搞了许久还是失败,只好找度娘和谷哥了,上面有类似的问题,但是解决方案没有一个。

事务管理器配置如下图:



事务通知配置如下图:



事务切面配置如下图:





解决方案:

    最后,只能头痛的盯着Spring的事务配置文件(初步判定为事务未提交),看了一遍又一遍(看了无数遍),最后突然犹如天降神灵,脑洞大开,发现我的事务切面配置错了,字母写错了一个!!!如下图:



终于找到问题了,迫不及待的启动服务器进行测试,成功了!!!








    好了,关于 getHibernateTemplate 修改和删除操作失败 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。

【LaTeX PPT模板集】Beamer主题与配色使用教程 阅读详情

相关推荐

NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. 最全解决方案!详细!

真的折磨了我整整一天,从网上的资料到GPT都翻遍了,终于是解决了!以下方案希望能帮助到你们。

weixin_44124632的博客 1万+

HibernateTemplate删除数据小结

删除 DAO代码: public void delete(Integer lid) { log.debug("deleting Login instance"); try { Login login=(Login)this.getHibernateTemplate().load(Login.class,lid); ge

jazywoo_在路上 1260

别再为下载速度发愁了!手把手教你给qBittorrent/Transmission添加最新可用Tracker(附2024年实测地址清单)

本文提供2024年BT下载加速实战指南,详细解析Tracker工作原理与速度瓶颈,手把手教你为qBittorrent/Transmission添加最新可用Tracker,并附实测地址清单。通过优化配置和精选Tracker列表,显著提升下载速度和稳定性,解决连接延迟和peer数量限制问题。

weixin_28481133的博客 1257

getHibernateTemplate().delete未生效各种解决方案(从网上总结的)

一、 问题描述: 简单的SSH结构,已经生成了HBM和POJO,单元测试中调用AbstractHibernateDao(extends HibernateDaoSupport)执行CRUD,目前Junit单元测试绿灯通过,但检查控制台发现没有delete脚本输出,再检查数据库,记录依然在。 PS:我怀疑是delete后,session没有flush,在AbstractHibernateD

gaojiyinhang2的专栏 4969

避开这些坑!RK3588安卓系统内置输入法的正确姿势(含.mk文件修改指南)

本文详细解析了在RK3588安卓系统定制中预置第三方输入法的完整流程与关键避坑指南。重点涵盖APK签名、Android.mk文件编写、系统默认输入法配置(使用adb ime list命令获取服务名)以及SeLinux策略适配等核心步骤,并指出RK3566/RK3568等兄弟平台的通用性与差异点,帮助开发者实现稳定、深度的系统集成。

tgb34567890的博客 436

48、量子系统中的信源编码

本文深入探讨了量子系统中的信源编码理论与应用,详细介绍了盲编码与可见编码、定长编码与变长编码四种主要信源编码方案。文章从经典信源编码出发,对比分析了量子场景下的压缩特性,并系统性地阐述了量子定长信源编码的构建方法及相关定理证明。同时,讨论了通用量子定长信源编码的设计思路及其在实际应用中的优势与挑战。通过理论分析与实验进展的结合,为量子信息存储、传输和处理提供了重要的理论基础和技术支持。

m2n3b4v5c6的博客 100

Hibernate.gethibernatetemplate 实现增、删、改、查 方法

1. find(String hql);  //普通查询    示例:this.gethibernateTemplate().find("from User");   2. find(String hql,Object value);//一个查询条件    示例:this.gethibernateTemplate().find("from User u where u.

solobear的专栏 3265

Planet explorer:免费获取高分辨率影像的网站

该软件提供了高质量的卫星图像和地形数据,用户可以使用该软件来查看地球上任何地方的详细地图信息,包括地形、道路、建筑物等。在接下来的30天里,你可以点击应用顶部的切换按钮,在新的和当前的应用之间进行切换。如果在你感兴趣的地区没有高分辨率图像,可以通过我们的SkySat卫星为你采购。如果你还没有与我们的50厘米图像合作,请在这里下载我们的高分辨率图像样本,或联系销售,在你的合同中增加任务访问。你可以在 "我的订单 "中订购你的数据以供下载。你也可以点击双方按钮,将图像的足迹锁定在地图上,以获得更好的。

此星光明博客 1678

getHibernateTemplate().saveOrUpdate(t)不能更新

困扰了一个下午,使用getHibernateTemplate().saveOrUpdate(t)就是不能执行更新,无奈去网上查询,看到了http://hi.baidu.com/mingfang0219/blog/item/71554cf9d1d5bf05d9f9fddc.html这个文章,其中有一部分是这样的 hibernate 实体对象有三种状态 自由状态(Transient)持久状态(Per

pair00的专栏 8174

Android 10.0 任务栏音乐播放器后台播放杀进程功能实现

在10.0的系统rom定制化开发过程中,在某些情况下在安装第三方播放器以后,播放音乐的时候,在最近任务栏recents列表中,点击全部清除,发现音乐播放器还在播放音乐,导致出现bug,完整的 解决方法,肯定是需要点击全部清除以后,音乐播放器也被杀掉进程,接下来看下这个问题怎么解决

安卓兼职framework和app工程师的博客 650

基于Qt C++开发一个体测数据管理系统

advice.dietAdvice = "饮食建议:\n1. 控制总热量摄入,每天减少300-500大卡\n2. 减少精制碳水(白米饭、白面包、甜食)\n3. 增加优质蛋白和膳食纤维摄入\n4. 烹饪方式以蒸、煮、烤、凉拌为主,减少油炸\n5. 晚餐适量减少,睡前3小时避免进食";dataTable->setHorizontalHeaderLabels({"ID", "用户名", "身高(cm)", "体重(kg)", "BMI", "体脂率(%)", "记录时间"});

寒寒豆豆软件公司的博客 192

使用getHibernateTemplate()的方法时出现空指针异常的解决办法

真是无力吐槽网上d

u013866823的专栏 963

5.4 GTT BO的内存分配分析

本文分析了AMD GPU驱动中的GTT技术实现。GTT作为GPU页表,负责管理主机内存与GPU虚拟地址的映射,支持大容量内存访问和统一寻址。文章详细介绍了GTT的核心数据结构amdgpu_gtt_mgr、初始化流程,以及BO(Buffer Object)创建时GTT区间的分配与释放机制。GTT管理通过TTM框架实现分层设计,提供内存统计、兼容性检查等接口,并支持动态迁移、多进程隔离等高级特性。该机制为AMD GPU提供了高效灵活的内存管理基础。

图形/计算GPU的驱动与虚拟化技术分享园地 3721

getHibernateTemplate().delete() 删不掉

项目合并后,执行数据库操作时报各种错误: 查询再update后报错对象重复。 删除的时候执行成功但是数据库记录仍然存在,等等。     排查发现web.xml 中 OpenSessionInViewFilter  的加载顺序错了,导致了OpenSessionInViewFilter  失效。       OpenSessionInViewFilter   的加载顺序调整,要放...

scorpio_9157的专栏 829

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

J2EE进阶(十六)Hibernate 中getHibernateTemplate()方法使用

Hibernate封装了对数据库的例行操作,比单纯的jdbc的DAO,开发效率要高很多了。提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作,Spring 2.0更增加对命名SQL查询的支持,也增加对分页的支持。结合struts2的事件过滤规则,需要添加额外的参数,但是这又与POST的提交方式相违背(POST与GET提交方式的区别,详见博文《的操作对象,然后利用此对象进行,保存,修改和删除等操作,此方法是在配置了。经查看代码,发现果然是数据库中userId为空导致问题的出现。

2401_86402522的博客 519

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

getHibernateTemplate().save保存不成功,又无异常

我用ssh结构,插入一条数据不成功 大概配置:  applicationContext.xml <bean id="transactionProxyFactoryBean" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <prop...

guo51357的博客 470

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Hibernate和spring开发web应用时要注意的几个环节

近期在用hibernate和sping开发web应用时遇到一些问题,比较详细的阅读了一下相关文档(主要是《轻量级J2EE企业应用实战》和《spring recipe》以及《实战hibernate》),搞清了几个方面的差别,简单地记录一下。日后在做其他项目时可以作为项目组内预先做好技术准备的内容。      spring提供的getHibernateTemplate和getSesstionFact

Eddyx的专栏 890

2024年前端最全J2EE进阶(十六)Hibernate 中getHibernateTemplate()方法使用(2),2024年最新web前端面试官会问什么

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】spring中获得由spring所配置的hibernate的操作对象,然后利用此对象进行,保存,修改和删除等操作,此方法是在配置了spring以后,hibernate由spring接管,不直接使用hibernate的session了。提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作,Spring 2.0更增加对命名SQL查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate。

2401_84433829的博客 546

Unknown entity: org.hibernate.internal.CriteriaImpl; nested exception is org.hibernate.MappingExcept...

一开始以为时没找到映射文件,后来发现是Dao写的有问题 getHibernateTemplate().delete()参数是一个pojo的实例,我传入的对象不对导致出现了问题 最后改成如下,在delete()里传入实例 转载于:https://www.cnblogs.com/King-Jin/p/10992405.html...

weixin_30730053的博客 130

HibernateTemplate类的使用 (转)

HibernateTemplate 提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作, Spring 2.0 更增加对命名 SQL 查询的支持,也增加对分页的支持。大部分情况下,使用 Hibernate 的常规用法,就可完成大多数 DAO 对象的 CRUD 操作。下面是 HibernateTemplate 的常用方法简介: q      void delete

Sunking_Yin的专栏 837

HibernateTemplate类使用

Java代码  /**   * 向数据库添加一条对应于一个业务对象实例的记录   *   * @param entity   * 业务对象实例         */    public Entity create(Entity entity) throws DaoException {    try {    getHibernateTemplate().save(entity);    return entity;    } catch (DataAccessException e) {         

先相信你自己,然后别人才会相信你。 1506

HibernateTemplate相关方法

/**  * 向数据库添加一条对应于一个业务对象实例的记录  *  * @param entity  * 业务对象实例        */  public Entity create(Entity entity) throws DaoException {  try {  getHibernateTemplate().save(entity);  return entity;

HQingmu 青木河 419

HibernateTemplate的相关方法

/** * 向数据库添加一条对应于一个业务对象实例的记录 * * @param entity * 业务对象实例 */ public Entity create(Entity entity) throws DaoException { try { getHibernateTemplate().save(entity); return entity; } catch (DataAccess

益之的专栏 908

HibernateTemplate类的使用

1. /** 2.* 向数据库添加一条对应于一个业务对象实例的记录 3.* 4.* @param entity 5.* 业务对象实例 6. */ 7.public Entity create(Entity entity) throws DaoException { 8.try { 9.getHibernateTempl...

langzhiwang888的专栏 141
上一篇: Write operations are not allowed in read-only mode (FlushMode.MANUAL) 的解决办法
下一篇: java.lang.ClassNotFoundException: org.springframework.core.io.Resource 解决办法
TechBro华仔
TechBro华仔 优质创作者: Java技术领域 优质创作者: Java技术领域 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄11年 5万+粉丝 430原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechBro华仔

日拱一卒无有尽,功不唐捐终入海

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值