Jasper plugin in Grails: org.hibernate.LazyInitializationException: could not initialize proxy - no Session -


i trying generate report in doc format using jasper plugin, exception generated at:

jasperreportdef report = jasperservice.buildreportdefinition(params, request.getlocale(), result)  

line in controller

exception:

could not initialize proxy - no session. stacktrace follows: org.hibernate.lazyinitializationexception: not initialize proxy - no session @   org.apache.commons.beanutils.propertyutilsbean.invokemethod(propertyutilsbean.java:2170) @ org.apache.commons.beanutils.propertyutilsbean.getsimpleproperty(propertyutilsbean.java:1332) @ org.apache.commons.beanutils.propertyutilsbean.getnestedproperty(propertyutilsbean.java:770) @ org.apache.commons.beanutils.propertyutilsbean.getproperty(propertyutilsbean.java:846) @ org.apache.commons.beanutils.propertyutils.getproperty(propertyutils.java:426) @ net.sf.jasperreports.engine.data.jrabstractbeandatasource.getbeanproperty(jrabstractbeandatasource.java:111) @ net.sf.jasperreports.engine.data.jrabstractbeandatasource.getfieldvalue(jrabstractbeandatasource.java:96) @ net.sf.jasperreports.engine.data.jrbeancollectiondatasource.getfieldvalue(jrbeancollectiondatasource.java:100) @ net.sf.jasperreports.engine.fill.jrfilldataset.setoldvalues(jrfilldataset.java:1317) @ net.sf.jasperreports.engine.fill.jrfilldataset.next(jrfilldataset.java:1218) @ net.sf.jasperreports.engine.fill.jrfilldataset.next(jrfilldataset.java:1194) @ net.sf.jasperreports.engine.fill.jrbasefiller.next(jrbasefiller.java:1544) @ net.sf.jasperreports.engine.fill.jrverticalfiller.fillreport(jrverticalfiller.java:142) @ net.sf.jasperreports.engine.fill.jrbasefiller.fill(jrbasefiller.java:909) @ net.sf.jasperreports.engine.fill.jrbasefiller.fill(jrbasefiller.java:841) @ net.sf.jasperreports.engine.fill.jrfiller.fill(jrfiller.java:88) @ net.sf.jasperreports.engine.jasperfillmanager.fill(jasperfillmanager.java:653) @ net.sf.jasperreports.engine.jasperfillmanager.fillreport(jasperfillmanager.java:969) @ com.cvsurgeon.downloadcvcontroller$_closure3.docall(downloadcvcontroller.groovy:563) @ grails.plugin.cache.web.filter.pagefragmentcachingfilter.dofilter(pagefragmentcachingfilter.java:195) @ grails.plugin.cache.web.filter.abstractfilter.dofilter(abstractfilter.java:63) @ java.lang.thread.run(thread.java:662) 

i have googled , found alternate not works in case like: how use jasperreports subreports grails jasper plugin?

any appreciated.

imho problem filling report data consisted of domain objects.

some properties of these domain objects lazy-loaded @ time when report generated, session not available hence error.

i see 3 possible solutions:

  1. do call of jasperservice.buildreportdefinition in service instead of controller - session should available there.

  2. instead of using domain objects fill report, copy necessary data dto , use it.

  3. identify properties lazily-loaded , make them eagerly-loaded instead - see http://grails.org/doc/latest/guide/gorm.html#fetching


Comments

Popular posts from this blog

java - Intellij Synchronizing output directories .. -

git - Initial Commit: "fatal: could not create leading directories of ..." -