sessionFactory.getCurrentSession()报错问题 buildsessionfactory

刚开始研究liferay不久,不过对liferay的功能和用的技术真多比较佩服.不过对于开发人员来说要深入了解那么的技术的不是那么容易的事情.

liferay的资料相对较少,不过去官方的论坛和wiki里面找一些东西.

最近在使用liferay的plugin portlet开发方式.

最简单的功能就是直接从数据库查询数据,插入数据等.

插入数据的话用liferay的build service工具就能自动提供接口不用那么麻烦.

不过查询的时候从BasePersistenceImpl类的openSession()的时候报了下面的错误.

com.liferay.portal.kernel.exception.SystemException: org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here

at com.test.finder.service.persistence.TestEntryFinderImpl.findByNoAssets(TestEntryFinderImpl.java:256)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)

at com.liferay.portal.dao.shard.ShardAdvice.invokePersistence(ShardAdvice.java:205)

at sun.reflect.GeneratedMethodAccessor524.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)

at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)

at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

at $Proxy348.findByNoAssets(Unknown Source)

郁闷了好几天.找了好些liferay的东西看也不知道解决办法.

最近跟踪代码,发现里面是sessionFactory.getCurrentSession()这个方法报错.

当时想你报错那我就不用你好了,用Session openNewSession(Connection connection)这个方法好了.

openNewSession这个方法倒是能够正常访问了,但这个是每次都打开一个新连接,然后关闭.

还是感觉用springde东西比较好.

没办法回到sessionFactory.getCurrentSession()为什么出错上来,在网上找了很久,才发现了解决办法.

service builder执行后的默认定义.

<bean id="liferayHibernateSessionFactory"

>

<property name="dataSource" ref="liferayDataSource" />

</bean>

修改后的定义:

<bean id="liferayHibernateSessionFactory"

>

<property name="dataSource" ref="liferayDataSource" />

<property name="hibernateProperties">

<props>
sessionFactory.getCurrentSession()报错问题 buildsessionfactory

<prop key="hibernate.current_session_context_class">thread</prop>

</props>

</property>

</bean>

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/68790.html

更多阅读

《魔兽世界》运行提示系统报错:"Error #132" html quot

《魔兽世界》运行提示系统报错:&amp;quot;Error #132&amp;quot;——简介好不容易下载的WOW客户端安装后,满心欢喜的打开却发现游戏报错不能运行。这种遭遇是多么的坑爹呀。。。求人不如求已下面请跟小编一起DIY解决一下吧!!!《魔兽

PL/SQL报错:“ORA-12154:TNS:无法解析指定的连接标识符”

在连接oracle的时候PL/SQL报错:“ORA-12154: TNS:无法解析指定的连接标识符”,在网上找了很多资料,然后问题解决。其中下面的文章分析的过程很值得学习,特地转载过来时刻告诫自己全局观的重要性!  下面是引用正文  接着上次的话题,在6

QuickCHM2.6不打开报错 quickchm v2.6破解版

QuickCHM 2.6打不开解决:1.dhtmled.ocx复制到c:windowssystem32文件夹2.regsvr32 dhtmled.ocx//////////////参考文档/////////QuickCHM 2.6中“不支持此接口”错误的解决(作者:mossan)最近做一个电子书,在网上找了一个比较好用

土八哥:SAPck240报错

成本构成分解成本核算为零消息号 CK240诊断如果数量结构和成本核算无关如果成本估算是标准成本估算,要是相关库存估价的所有成本组件的合计为零,系统会发出错误信息。有为零的成本构成分解的标准成本估算不能为库存估价发布因为系

声明:《sessionFactory.getCurrentSession()报错问题 buildsessionfactory》为网友凄凉意分享!如侵犯到您的合法权益请联系我们删除