object references an unsaved transient instance
来源:互联网 发布:web 开发语言 知乎 编辑:程序博客网 时间:2024/05/16 18:48
最近做SSH整合,在新建管理员的时候,出现如下错误:
Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: AdminRole
org.springframework.dao.InvalidDataAccessApiUsageException: object references an unsaved transient instance - save the transient instance before flushing: AdminRole;
nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: .AdminRole
因为管理员中有个属性关联着角色表,所以就出现了这个异常。
根本原因是以为:我在Controller中先把AdminRole对象查了出来,然后再SET到Admin对象对应的属性中,而session的范围是在spring管理的范围之内(我们一般分spring的配置文件和springmvc的配置文件,spring中管理这除了controller之外的对象,而hibernate的配置和事物的配置,都是在spring配置文件的范围之内的,不包含在springmvc中),所以查出来的AdminRole对象,放到controller中,它就已经变成了临时状态而不是持久化状态,所以就出现了这个问题
参考了很多网上说的设置:cascade属性,谁负责管理外键等,都不行,最后是具体分析了异常的含义,以及之前类似这种spring,springmvc配置特性的作用域范围,才最终确定了问题所在。
由此我们可以引申出三层架构和spring,springmvc;
平常我们为什么要分三层架构,而springmvc负责V层,所以很多特性不应该在V层中有(V层有自己的特殊特性,比如视图解析,静态资源等方面),而是在业务层和数据层。
以后注意这个问题:在spring容器内设置的特性,不要到springmvc中去用
- hibernate3: object references an unsaved transient instance
- object references an unsaved transient instance
- object references an unsaved transient instance
- object references an unsaved transient instance
- object references an unsaved transient instance
- object references an unsaved transient instance
- object references an unsaved transient instance【异常】
- 问题:object references an unsaved transient instance
- object references an unsaved transient instance
- object references an unsaved transient instance
- org.hibernate.TransientObjectException: object references an unsaved transient instance
- org.hibernate.TransientObjectException: object references an unsaved transient instance
- org.hibernate.TransientObjectException: object references an unsaved transient instance
- org.hibernate.TransientObjectException: object references an unsaved transient instance
- hibernate 抛出的object references an unsaved transient instance错误
- 关于org.hibernate.TransientObjectException: object references an unsaved transient instance
- hibernate : object references an unsaved transient instance 错误解决方案
- Hibernate 级联保存TransientObjectException object references an unsaved transient instance
- 最小路径覆盖问题
- APACHE服务器出现No input file specified.的完美解决方案
- Entity Framework(3)修改
- hdu 1251 统计难题 (统计前缀出现次数)
- Caffe各种层
- object references an unsaved transient instance
- Tensorflow实现cnn模型的训练与使用
- Google Brain 大牛亲授!只需10分钟!好看好上手的神经网络在线课!
- oracle安装路径查看和远程连接的两种方式
- 深度学习之星(二):GAN之图像转换 | 公开课
- 对于人体异常行为检测有训练好的深度学习模型吗? | 社区问答
- 传统算法如何转化成神经网络?| 回顾
- $.ajax()方法详解
- 20170918_chr_calActionchr Struts2实现简易计算器