zoukankan      html  css  js  c++  java
  • 关于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序列化到其他地方,以便他日获取!!

  • 相关阅读:
    开源 免费 java CMS
    运行shell脚本报错 '357273277': command not found 解决的方法
    Android学习笔记之Spinner下拉列表使用案例
    HDU 1542 Atlantis (线段树 + 扫描线 + 离散化)
    DrawerLayout
    云计算设计模式(十三)——领导人选举模式
    算法之贪心思想
    [Android]Volley源代码分析(叁)Network
    oracle TABLE ACCESS BY INDEX ROWID 你不知道的索引回表-开发系列(三)
    JavaScript No Overloading 函数无重载之说
  • 原文地址:https://www.cnblogs.com/Booker808-java/p/7869511.html
Copyright © 2011-2022 走看看