今天在整合ssh三个框架时,有一个功能,是查询所有员工信息,且员工表和部门表是多对一的映射关系,代码能正常运行到查询得到一个List集合,但在页面展示的时候,就报异常了,

java.lang.ClassCastException: com.ch.hibernate.Department_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy

  问题应该出在实体类Department上,然后我参照网上的解释,将Department.hbm.xml中class标签上加了一个lazy="false",再次运行,结果正常.

  推测原因,应该是我在查询员工Employee时,得到的department信息只是一个代理对象,而关闭了延迟加载后,就能查询得到一个真正的department对象.

  观察jar包,发现struts的jar包和hibernate的jar包中,都有一个javassist的jar包,将较低版本的删掉之后,也能运行正常.

  把lazy="false"删掉之后,执行联合查询时,查询emplotee的关联类department时,还是只能得到一个代理对象,这是我的hql语言是 String hql="from Employee"; 我们通过左外连接同时查询deaprtment,改为这个hql语句,String hql="from Employee e left outer join fetch e.department ",就可以查询到department信息了.

随机推荐

  1. webpack模块加载css文件及图片地址

    webpack支持css文件加载并打包,只需安装相应加载器并在配置文件中配置 . 加载的css文件内容会与该模块里的js内容混合封装,这样做的好处是一个js文件包含了所有的css与js内容,有效减少了 ...

  2. *HDU3398 数学

    String Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  3. Vuforia结合Skyshop: Image-Based Lighting Tools & Shaders插件实现真实的光照效果

    Skyshop: Image-Based Lighting Tools & Shaders 插件地址:https://www.assetstore.unity3d.com/en/#!/cont ...

  4. gem安装报错解决方法

    gem install  rdiscount -- --use-system-libraries

  5. UCenter 基本原理一瞥

    UCenter 是国内最常用的会员整合系统,它定义了一套接口用于不同应用(系统)间的协作. 注册过程 通过某个应用注册时,应用会先调用 uc_client/client.php 中的 uc_user_ ...

  6. SQL Server恢复软件 Stellar Phoenix sql recovery

    SQL Server恢复软件 Stellar Phoenix sql recovery http://www.stellarinfo.com/ http://www.stellarinfo.com/ ...

  7. 《精通正则表达式》笔记 --- “验证”Email格式

    写一个正则表达式的三个步骤: 理解需求并找出你需要验证的数据的特征: 写一个还可以用的正则表达式: 看看能不能达到你的目的,同时想想会不会匹配到一些不想要的数据: [可选]性能优化 我觉得写一个正则表 ...

  8. Atitit 动态调用webservice与客户端代理方式调用

    Atitit 动态调用webservice与客户端代理方式调用 方式1: 使用call.invoke  直接调用WSDL,缺点:麻烦,不推荐--特别是JAVA调用.NET的WS时,会有不少的问题需要解 ...

  9. iOS--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook等系统服务开发汇总

    iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: ...

  10. HTTP Status 500 - The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

    j 今天下午一直报这个问题,google了半天没有找到答案.百度了下,说是 tomcat的 lib文件夹下缺少jstl1.2,因为项目里面用的也是 jstl1.2和 standard-1.1.2.ja ...