关于Hibernate加载数据时的CGLIB动态代理的奇怪问题。

有三个类,分别对应三个表ComAuthPermissionDO、ComAuthOperationDO、ComAuthEntityDO

三个表的关系是:ComAuthPermissionDO分别引用了ComAuthOperationDO、ComAuthEntityDO,即分别跟这两个表形成@ManyToOne关系。

在查询ComAuthPermissionDO,可以联级查到ComAuthOperationDO、ComAuthEntityDO,但非常奇怪,我查出来之后,发现ComAuthOperationDO的equals()方法总是返回false,最后发现,是equals方法在对比两个类的Class时候返回false。于是打印了联级查询的这两个实例的Class:

=============.>>CLass:  com.xx.component.authorization.model.ComAuthOperationDO$$EnhancerByCGLIB$$86a21bfb
=============.>>CLass:  com.xx.component.authorization.model.ComAuthEntityDO

为什么Hibernate加载ComAuthOperationDO实例时用来CGLIB动态代理,而加载ComAuthEntityDO时却正常呢?

请解答。。。谢谢!

Agent驱动电商运营:从选品到售后的全链路革新 在当今竞争激烈的电商市场中,传统的电商运营模式面临着诸多挑战。从选品到售后,每个环节都需要大量的人力投入和专业知识。选品需要深入了解市场趋势和消费者需求,营销需要精准定位目标用户,客服需要24小时响应用户咨询。这些工作不仅耗时耗力,而且容易受到人为因素的影响,导致效率低下和成本高企。AI Agent是一种能够感知环境、做出决策并采取行动的智能系统。感知能力:能够获取和处理环境信息。决策能力:能够根据感知到的信息做出决策。行动能力:能够执行决策,对环境产生影响。学习能力。 阅读详情

相关推荐

ArcGIS中如何计算多个点到特定线的最短距离

现有一个点图层和一个面图层,怎么来计算这些点到这个面图层,两个面的公共边的最短直线距离呢? 1.首先得将两个图层都转为 投影坐标系 打开工具箱-数据管理工具-要素-面转线 ​ ​ 2.将面图层设为输入要素 注意要将“识别和存储面邻域信息”勾选 ​ 3.面转线成功后 打开线属性表,线图层拥有了 LEFT_FID和RIGHT_FID两个字段 ​ 4.按属性选择,表达式中输入 “LEFT_FID”<>-1 即可选出两个面的公共边 ​再将选...

GIS蒲公英的博客 6717

net.sf.cglib.core.CodeGenerationException 错误 (属hibernate)

net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null Caused by: java.lang.reflect.InvocationTargetException 解决办法: 在….hbm.xml文件中,将class标签的lazy属性改为 la...

janckywong963的专栏 4483

Zotero on Mac: 高效文献管理与引用指南

本文为Mac用户提供了一份全面的Zotero高效文献管理与引用指南。从安装配置、文献收集管理、PDF深度阅读与笔记,到在Word中无缝插入引用和生成参考文献,详细讲解了核心工作流。同时推荐了ZotFile、Better BibTeX等必备插件,并介绍了利用同步与WebDAV实现跨设备无缝衔接的方法,助力研究者构建个人数字知识库,极大提升学术研究效率。

weixin_29281941的博客 1179

关于CGLIB动态代理报错问题

Exception in thread "main" net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException--&gt;null at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.j...

刘伯生(Java) 6192

5分钟搞定Nano-Banana图片编辑API对接:从Base64编码到生成图片全流程

本文详细介绍了如何快速对接Nano-Banana图片编辑API,基于gemini-2.5-flash-image-preview模型,从环境准备、Base64编码到API调用的全流程。通过实战示例和优化技巧,帮助开发者高效集成AI图片处理能力,提升产品竞争力。

dog123的博客 261

FC7300 Clock介绍

FC7300的时钟架构包括一个高级时钟图和内部时钟需求。它有5个CMU,使用SIRC监控FIRC/SOSC/FOSC,并使用FIRC监控SIRC。此外,CMU4还使用FOSC监Slow Clock。

舊梦的博客 327

hibernate代理实现懒加载+cglib和jdk动态代理

Hibernate中用proxy(代理)实现类的延迟加载可以在.xml文件中指定lazy=”true”这个属性来实现: 这种方式等价于 这样Hibernate就会自动继承Student这个类,来生成一个代理类,这个代理类是实现延迟加载的关键,比如一个Student类有很多属性,所以就希望当用到Student的属性的时候(调用getXXX())才去数据库读取,这个时候时候就可以使用Student的代

C30混凝土 1220

【基于CKF的IMM】CV和CT两个模型下的IMM,二维,滤波使用CKF(容积卡尔曼滤波),附完整的matlab代码

该文章摘要: 本文提出了一种基于交互多模型(IMM)和容积卡尔曼滤波(CKF)的融合定位算法,用于解决目标在直线运动和转弯机动之间的模型切换问题。通过MATLAB仿真实现了IMM-CKF算法,并与单一的CV-CKF(匀速模型)和CT-CKF(匀角速转弯模型)方法进行对比。实验结果表明,在包含直线段和转弯段的复合轨迹跟踪中,IMM-CKF方法能够自适应调整模型权重,显著提高了定位精度。轨迹跟踪图、位置/速度误差对比图以及模型概率曲线直观展示了IMM算法的优势。文章提供了完整的MATLAB实现代码,可用于目标跟

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 615

cglib问题

问题:Caused by: net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null 描述:很奇怪我用的是FastClass,当项目刚启动的时候,第一次调用会抛出这个异常,但是以后的都正常调用了,很奇怪,我用jdk反射就不会出现这个问题。 代码: cglib:

jueshengtianya的专栏 2217

RPA与旅游与酒店行业自动化实战案例

1. 背景介绍 1.1 旅游与酒店行业的挑战 旅游与酒店行业是一个高度竞争的市场,企业需要不断提高服务质量、降低成本、提高效率以保持竞争力。在这个过程中,企业面临着诸多挑战,如客户需求多样化、市场变化快速、人力资源成本高昂等。为了应对这些挑战,企业需要寻求新的技术手段来提高运营效率。

AI天才研究院 615

FPGA打砖块游戏设计(有上板照片)VHDL

这是一款经典打砖块游戏,我们的努力让它更精致更好玩,我们将它取名为打砖块游戏(Flyball),以下是该系统的一些基本功能: 画面简约而经典,色彩绚丽而活泼,动画流畅 玩家顺序挑战3个不同难度的级别,趣味十足 计分功能,卡通字母数字 4条生命值,由生命条显示 游戏结束画面,缓缓浮起与缤纷刷色的特效 四键操作,可复位,可暂停,高灵敏 96块砖拼出可爱的“囧”字,方便更改 碰挡板非镜面反射 初始启动,随机的发射速度。

QQ_778132974的博客 1662

hibernate 懒加载时的代理类

<br />当使用session中的load方法查询数 据库中的记录时,我们返回的是一个代理对象,而不是真正需要的那个对象;例如数据库中存有个Student表,我们有 cn.binyulan.doman.Student的领域对象,如果查询Id值为“200626313”的Student stu = (Student)session.load(Student.class,"200626313"),然后我们打印 System.out.println(stu.getClass);得到的结果为 cn.bin

muyihuakai的专栏 1970

21天学会PCIe专栏(4.3)--PCIe配置方法

通过本节的学习,你应该对PCIe配置方法有了更深入的了解。软件配置方法包括直接访问和间接访问,可以通过特定的I/O指令或系统调用进行配置。硬件配置方法包括通过BIOS/UEFI设置和跳线设置,可以根据需要修改PCIe设备的配置参数。

xiaoheshang_123的博客 723

Hibernate中的懒加载原理分析

当使用session中的load方法查询数据库中的记录时,我们返回的是一个代理对象,而不是真正需要的那个对象;例如数据库中存有个Student表,我们有cn.binyulan.doman.Student的领域对象,如果查询Id值为“200626313”的Studentstu =(Student)session.load(Student.class,"200626313"),然后我们打印System

行动 1569

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

关于SSH整合使用MyEclipse自动导入包导致包冲突问题(cglib asm)

本文转自:点击打开链接 MyEclipse的Add xxxx Capabilities 功能初学时感觉十分便捷,帮助完成了许多功能,很方便的可以搭建SSH平台。 久而久之发现问题多多,最近启动Tomcat服务器后经常出现奇怪的异常,如下: Error creating bean with name 'sessionFactory' defined in Servlet

zhuyucheng123的专栏 1817

老版QQ原生表情gif动态

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

hibernate懒加载中的一些猫腻

hibernate懒加载原理

不变的24号 596

hibernate 懒加载的原理 转载 很棒的~~

hibernate 懒加载的原理 当使用session中的load方法查询数据库中的记录时,我们返回的是一个代理对象,而不是真正需要的那个对象;例如数据库中存有个Student表,我们有cn.binyulan.doman.Student的领域对象,如果查询Id值为“200626313”的Student stu = (Student)session.load(Student.class,"2006...

振华 161

hibernate懒加载(转载)

http://blog.youkuaiyun.com/sanjy523892105/article/details/7071139 懒加载详解 懒加载为Hibernate中比较常用的特性之一,下面我们详细来了解下懒加载的原理和注意事项 Load()方法的懒加载原理 在Hibernate中,查询方法有两个,分别是get()和load(),这两种方法的不同就是load()拥有懒加载的特性。Lo...

weixin_30492047的博客 91

hibernate中load方法的懒加载及原理分析

核心提示:当使用session中的load方法查询数据库中的记录时,我们返回的是一个代理对象,而不是真正需要的那个对象;例如数据库中存有个Student表,我们有cn.binyulan.doman.Student的领域对象,如果查询Id值为200626313的Student st

huang_bq的专栏 526

hibernate懒加载原理(转)

        当使用session中的load方法查询数据库中的记录时,我们返回的是一个代理对象,而不是真正需要的那个对象;例如数据库中存有个Student表,我们有cn.binyulan.doman.Student的领域对象,如果查询Id值为“200626313”的Student stu = (Student)session.load(Student.class,"200626313"),...

senhehe的专栏 191

hibernate学习笔记(自用)

hibernate学习笔记(自用)一、hibernate的几个重点难点1.O/R映射:这是使用hibernate的基础所在2.数据关联:这是hibernate中最难,也是最神奇的部分。但是也是最难用的部分,用的不好可能对性能造成十分严重的影响。3.数据缓存:这是提高性能的关键所在,但是如果用的不好,可能会出现很对奇怪的事,甚至是陷阱。二、学习hibernate时方向上的把握1.学习hibern

shanchao的专栏 892

Hibernate 3.2中annotation注释的位置对性能的巨大影响

原贴: [url]http://www.iteye.com/topic/212236[/url] 近日把自己的AppFuse改写成JDK 1.5的形式,主要的改动是Hibernate配置改成annotation配置,原本认为很顺利,没想到碰到很多怪问题,不得不多次拿Hibernate源码进行跟踪。 其中一个要命的问题如下: 原本我是用xDoclet2的方式写注释,运行ant生成...

icewubin 155

could not initialize proxy - no Session

hibernate延迟加载的传说级错误org.hibernate.LazyInitializationException: could not initialize proxy - no Session 而且很奇怪的是这个问题在运行阶段100%出错,而在debug的时候却会有成功的可能,百思不得其解,在网上也找出很多答案,终于找到一个靠谱的供大家参考: 延迟初始化错误是运用Hibernat

u013812779的专栏 472

Spring事务与AOP核心原理深度解析:从源码到实战手写框架

在Java企业级开发中,Spring框架的事务管理与面向切面编程(AOP)是构建高可靠、可维护应用的核心技术。事务管理通过AOP机制,以非侵入方式为方法调用提供声明式事务控制,其底层依赖于动态代理技术实现逻辑织入。理解其原理对于解决实际开发中的事务失效、性能优化等问题至关重要。Spring AOP默认采用CGLIB代理,它通过生成目标类的子类来拦截方法调用,这解释了为何同类内部调用会导致@Transactional注解失效。通过手动实现一个简化版的AOP框架,可以直观体会代理创建、拦截器链与增强逻辑编织的过

weixin_33725807的博客 416

could not initialize proxy - no Session 的异常解决方案

could not initialize proxy - no Session hibernate延迟加载的传说级错误org.hibernate.LazyInitializationException: could not initialize proxy - no Session而且很奇怪的是这个问题在运行阶段100%出错,而在debug的时候却会有成...

weixin_34342578的博客 111
上一篇: Hibernate双向关联插入数据时候的怪问题
下一篇: web.xml如何配置才能让打到jar包的Bean能在容器启动时初始化?
johnnylzb
博客等级 码龄24年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值