关于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序列化到其他地方,以便他日获取!!
关于Hibernate中Java实体类加载出现序列化异常的更多相关文章
- Java : 实体类不能序列化异常
当修改实体类之后调用接口出现不能序列化的异常时,一定要检查实体之间的关系是否都是正确的. could not serialize; nested exception is org.hibernate. ...
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- JavaWeb_(Hibernate框架)Hibernate中创建实体
Hibernate中创建实体 创建实体五个基本规则 --提供无参的构造器 --成员变量的私有化,提供get.set方法,提供属性 --尽量使用包装类型 --主键(一定要有) --不要加final(hi ...
- Hibernate中Java对象的三种状态
Hibernate中Java对象的三种 ...
- Hibernate中的实体规则、对象状态和进阶-一级缓存
一.hibernate中的实体规则 1.实体类创建的注意事项 2.主键类型 3.主键生成策略 (1)代理主键 (2)自然主键 二.hibernate中的对象状态 1.对象分为三种状态 2.三种状态的转 ...
- (转)Hibernate框架基础——在Hibernate中java对象的状态
http://blog.csdn.net/yerenyuan_pku/article/details/52760627 在Hibernate中java对象的状态 Hibernate把对象分为4种状态: ...
- Hibernate 系列 07 - Hibernate中Java对象的三种状态
引导目录: Hibernate 系列教程 目录 1. Java对象的三种状态 当应用通过调用Hibernate API与框架发生交互时,需要从持久化的角度关注应用对象的生命周期. 持久化声明周期是Hi ...
- hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化
hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型 在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制 ...
- Hibernate中Query.list()方法报IllegalArgumentException异常
最近在使用Hibernate开发项目,在写好hql语句,并初始化Query对象,执行Query.list()方法时,应用报IllegalArgumentException异常.经网上查询,现已经基本决 ...
随机推荐
- 学习笔记--最近公共祖先(LCA)的几种求法
前言: 给定一个有根树,若节点\(z\)是两节点\(x,y\)所有公共祖先深度最大的那一个,则称\(z\)是\(x,y\)的最近公共祖先(\(Least Common Ancestors\)),简称\ ...
- ACM的一点基础知识
所摘内容来自于XJTU小学期ACM培训PPT log 默认以2为底 计算机一秒可以看作1e8次 保证数据计算精度及数据所需必要大小 a=1LL*a*a%p//在计算时通过乘以1LL,临时将Int转化为 ...
- 帝国cms 描述和关键词动态获取
之前列表页首页和内容页调用的关键词和描述的字段不一样,所以说需要写好几套模板. 下边这个判断就不用像之前做几套模板了,通过判断获取不一样的字段. $GLOBALS[navinfor] 这个判断的是此页 ...
- 查询SAP数据库表的大小
事物代码DB02 Perfomrmance->Additional Functions->SQL Command Editor->写数据表->执行 select bytes/1 ...
- (转)Python3.X如何下载安装urllib2包 ?
python 3.X版本是不需要安装:urllib2包的,urllib和urllib2包集合成在一个包了那现在问题是:在python3.x版本中,如何使用:urllib2.urlopen()? 答:i ...
- Could not determine which “make” command to run. Check the “make” step in the build configuration
环境: QT5.10 VisualStudio2015 错误1: Could not determine which “make” command to run. Check the “make” s ...
- Freeradius+Cisco2500AC+OpenLdap认证
为了将公司内部认证统一化,启用了802.1x认证,认证流程如下: UserClient->AC控制器->Freeradius->OpenLdap 其中: Freeradius做认证使 ...
- Atcoder Regular 099 暴力区间扩张 n/dig(n)极值打表 团分割背包
C 直接把第一次加在哪里for一遍即可 /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) u ...
- 权限和ACL练习题
1.在/testdir/dir里创建的新文件自动属于g1组,组 g2的成员如:alice能对这些新文件有读写权限,组g3 的成员如:tom只能对新文件有读权限,其它用户(不 属于g1,g2,g3)不能 ...
- mybatis 关联查询和嵌套查询的简单示例
两个表: Customer 顾客表 create table if not exists customer( customer_id int primary key auto_increment, f ...