关于使用Hibernateni逆向工程生成model出现的BUG
2017-01-09 16:17
323 查看
严重: Servlet.service() for servlet [jsp] in context with path [/purchasig] threw exception [org.hibernate.LazyInitializationException: could not initialize proxy - no Session] with root cause org.hibernate.LazyInitializationException: could not initialize proxy - no Session at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:132) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:174) at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190) at com.model.TProduct_$$_javassist_0.getFName(TProduct_$$_javassist_0.java) at org.apache.jsp.managerCK_jsp._jspService(managerCK_jsp.java:631) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) at org.apache.coyote.AbstractProtocol$AbstractCo 4000 nnectionHandler.process(AbstractProtocol.java:625) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2522) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2511) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:619)
这是由于session的懒加载(延迟加载)导致的错误,因为在session已经关闭之后再次调用懒加载中的代理(proxy)进行查询或实例化对象会导致proxy无法初始化,抛出异常。
解决方法:
在hibernate逆向生成的model里将具有外键的表中的外键属性(hibernate会将他们定义为它们相关联的Pojo)中get,set方法中的抓取策略改为EAGER
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "TProduct") public Set<TDetail> getTDetails() { return this.TDetails; }
相关文章推荐
- 关于cmd使用javah生成.h时出现:无法访问android.app.Activity 找不到android.app.activity的类文件
- 关于Vs 2005 中出现编译通过,但运行时出现“未使用调试信息生成二进制文件”的问题
- 随笔:关于使用fragment出现的一个bug
- 关于Oracle字段类型Date使用mybatis generator自动生成工具出现的查询日期只精确到年月日问题
- 关于使用MyEclipse自动生成Hibernate和Struts出现的jar不兼容的问题(antlr.collections.AST.getLine()I)
- 关于设置 UITableView 的 tableHeaderView为使用了 SnapKit 约束的自定义 view 时出现的 BUG 的处理
- VS2010bug 当生成或重新生成时,出现 不能复制文件(从obj\debug到bin\debug),文件正在被另一个进程使用的错误解决办法
- 关于使用FusionCharts生成图表时出现invalid xml data错误提示的解决方法
- 关于使用FusionCharts生成图表时出现invalid xml data错误提示的解决方法
- 使用Lomboz3生成Struts2项目后运行Tomcat出现Unable to load bean错误的解决
- dwr(ajax),hibernate结合使用出现的bug
- 关于使用javamail 出现的Unsupported record version Unknown-50.49异常
- 关于使用 jquery Validate 使用出现的问题
- 关于在Log4j中使用JDBCAppender时出现死循环的问题
- 关于zeo作品中生成代码使用方法的说明!
- 如何使用CodeSmith生成Model
- 关于用c生成的dll在使用其他供应商的工具创建可执行模块时遇到的一些问题
- 关于C#中PictureBox加载动态GIF所出现的BUG以及解决方法
- 关于HP-UX中出现无法使用历史命令的问题的解决方案
- 关于httpcontext实际使用时出现的一个问题