• 关于Hibernate中Java实体类加载出现序列化异常


    晚上跟着教程敲网上商城项目的时候(ssh框架写的),碰到了一个问题,就是如题所示的序列化异常问题,这个问题纠结了很久,最后发现了一个解决方法,虽然这篇文章可能几乎不会被人访问到,但是还是要写出来!

    其实是这样的,我有个一级分类和二级分类(数据库对应的表,例如一级分类是家居,那么二级分类就是家居的分类),一级分类和二级分类是一对多关系,外键设置在多方(这个就不细说了),我出问题的时候,一级分类category这个实体类的hbm.xml文件里还没有配置好他的二级分类categorysecond相关信息,但是我的category里已经写了:

    我已经设置了要对应的二级分类categorysecond,这个问题来了,我当时在敲某个功能时,并没有用到这个二级分类,但是我在dao里用hibernateTemplate已经使用了find方法连一级分类和二级分类全部查出来了!

    如图,既然这里已经连根都查出来了,而我的category里又有二级分类这个属性?

    这个是action代码,里面的红圈是上图dao层find后返回的list,而我这个list我要把它拿到jsp里把里面属性全部调取出来并显示,这时我的二级分类属性set集合确实属于懒加载状态!

    而我们又知道,Struts2里的action数据需要通过valuestack来显示到页面,而valuestack的生命周期和request一样,很短暂,但是二级分类又属于懒加载属性(hibernate特性),而这个懒加载属性又需要一个可以用来存储他的地方,需要存到哪?硬盘或者数据库,而这个时候的一级分类就要对二级分类负责,category需要实现序列化才有能力将categorysecond序列化到其他地方,以便他日获取!!

  • 相关阅读:
    html基础
    jenkins+ant+git+android搭建笔记
    appiumforandroid从零安装笔记(forWindows)
    使用enterTextInWebElement处理qq授权页报“网络异常,请稍后再试”的解决方法
    自动化日志测试计划
    robotium4.2简化通过id操作view啦
    在windows平台捕获iOS设备控制台日志
    android抓包笔记
    [Leetcode] Move Zeros
    [8.3] Magic Index
  • 原文地址:https://www.cnblogs.com/Booker808-java/p/7869511.html
Copyright © 2020-2023  润新知