`
icomparator
  • 浏览: 18566 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

做dao层的单元测试时报出No Hibernate Session bound to thread异常信息

 
阅读更多

BaseDao

抽取出来的Dao接口

必须通过子类来实例化,因此自身设置为懒加载。lazy-init=true

 

Spring 默认情况下(及时加载+单例模式)

 

 

 

 

 

 

 

在做dao层的单元测试时报出以下异常信息。

【原因】

No Hibernate Session bound to thread。没有提供事务。

【解决方法】

 

applicationContext.xml主配置文件中  默认切service

 

 

 

applicationContext.xml主配置文件中  默认切service层
<aop:config>
	<aop:pointcut expression=" execution(* com.myapps.service.impl.*.*(..))" id="pointcut"/>
	<aop:advisor advice-ref="advice" pointcut-ref="pointcut"/>
	
</aop:config>

修改为:
<aop:config>
	<aop:pointcut expression=" execution(* com.myapps.*.*.*(..))" id="pointcut"/>
	<aop:advisor advice-ref="advice" pointcut-ref="pointcut"/>
	
</aop:config>

【测试通过后再修改回来即可】






错误:




org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
	at org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:63)
	at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:687)
	at com.myapps.dao.impl.BaseDaoImpl.save(BaseDaoImpl.java:30)
	at com.myapps.dao.impl.CategoryDaoImplTest.testSave(CategoryDaoImplTest.java:37)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
	at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

 

分享到:
评论

相关推荐

    org.hibernate.HibernateException: No Hibernate Session bound to thread

    然而,在使用 Hibernate 进行数据库操作时,经常会遇到 "No Hibernate Session bound to thread" 的错误信息。本文将详细介绍该错误的解决方案。 错误原因 "No Hibernate Session bound to thread" 错误信息通常是...

    Hibernate-nosession

    然而,在某些特定场景下,我们可能并不需要频繁地打开和关闭Session,这时“Hibernate-nosession”就显得尤为重要。本文将深入探讨Hibernate-nosession的概念、应用场景以及如何在实际代码中实现。 首先,理解什么...

    OA系统整体设计及约定、搭建环境.rar_OA系统及配置_OA系统整体设计及约定、搭建环境_creation

    hibernate就会抛出: No Hibernate Session bound to thread, and configuration does not allow creation of one here}异常。 在实际的SSH web应用开发中,我们通常用spring来进行事务的管理。我们一般不会在dao层...

    Hibernate Session释放模式

    在Java的持久化框架Hibernate中,Session对象是与数据库交互的核心组件,它负责管理对象的持久状态。在处理大量数据或者长时间运行的事务时,合理地管理Session的生命周期至关重要,这就涉及到了Hibernate的Session...

    JAVA错误文档.pdf

    4. Hibernate框架错误:文档还包含了“org.hibernate.HibernateException: No Hibernate Session bound to thread”等错误信息,这是Hibernate框架常见的异常,表明在当前线程上没有绑定Hibernate Session。...

    Tomcat启动时报错:Name salesDataSource is not bound in this Context

    Name salesDataSource is not bound in this Context,连接池的问题

    spring分别与jdbc和hibernate结合的事务控制--案例

    例如,在Service层的方法上添加此注解,Spring会在方法执行前后自动处理事务的开启和提交,如果方法中发生异常,Spring会回滚事务。这种方式大大简化了代码,避免了手动管理事务的复杂性。同时,Spring还提供了编程...

    hibernate_reference使用指南全

    ### Hibernate使用指南精要 #### 一、简介与入门 **1.1 引言** Hibernate 是一个开源的对象关系映射 (ORM) 框架,它为 Java 应用程序提供了一种将 Java 对象映射到关系型数据库表中的机制。本章节将详细介绍如何...

    使用Hibernate一些常见错误解决办法

    当遇到`no current session bound to current context`错误时,通常是因为事务管理方式不正确。Hibernate提供了多种会话上下文配置,如`thread`、`jta`等。在这种情况下,推荐使用`thread`配置,确保每个线程都有...

    swoole#swoole-wiki#3.13.4 - 错误信息: XXXX client has already been b

    错误信息: XXXX client has already been bound to another coroutine使用协程客户端时出现以下错误信息:re

    Hibernate Reference Documentation3.1

    1. Introduction to Hibernate 1.1. Preface 1.2. Part 1 - The first Hibernate Application 1.2.1. The first class 1.2.2. The mapping file 1.2.3. Hibernate configuration 1.2.4. Building with Ant 1.2.5. ...

    Spring+hibernate+quartz 定时操作数据库

    在spring+hibernate的框架中定时操作数据库,主要是拿到sessionFactory,不会出现no session 和transaction no-bound等问题,由sessionFactory完成对数据的操作,有些包是没有用的,有兴趣的可以自己删除掉

    PDO版本问题 Invalid parameter number: no parameters were bound

    然而,当遇到"Invalid parameter number: no parameters were bound"错误时,这意味着尝试执行的SQL语句中的占位符参数没有正确地与实际值绑定。 这个问题在某些旧版本的PHP和PDO中被报告为一个bug,特别是...

    usb-bound分析器

    "USB-bound分析器"是一款专为USB设备监测和分析设计的工具,主要功能是帮助用户查看和理解系统中连接的USB设备的相关信息。通过这款软件,你可以深入洞察USB设备的工作状态,了解USB协议的交互过程,这对于系统管理...

    Hibernate 3.x 参考手册

    ### Hibernate 3.x 参考手册关键知识点解析 #### 一、快速入门与Tomcat集成 **1.1 快速开始使用 Hibernate** - **环境准备:** - 使用 Hibernate 前需确保 Java 环境已安装配置。 - 下载 Hibernate 3.x 版本库...

    JavaBean - Bound属性

    在给定的压缩包文件中,`bound.jar`可能是包含了实现Bound属性的JavaBean的类库,而`META-INF`目录则可能包含关于该jar文件的元数据,比如`MANIFEST.MF`文件,用于描述jar文件的版本、作者等信息。`com`和`src`目录...

    Android Service之bound实现

    本文将深入探讨“Android Service之bound实现”,理解如何通过绑定服务(Bound Service)来创建一个与应用程序组件交互的服务。 首先,我们要了解服务的两种基本类型:Start Service和Bound Service。Start Service...

    hibernate

    ### Hibernate 技术知识点概述 #### 一、Hibernate 概述 - **版本**: 文档为 Hibernate 3.2.3 版本。 - **内容结构**:文档分为多个章节,涵盖从入门到深入的主题。 #### 二、入门指南 ##### 1.1 第一个 Hibernate...

    数据池连接Name jdbc is not bound in this Context解决方案

    在这个问题中,开发者遇到了一个常见的错误:“Name jdbc is not bound in this Context”,这通常意味着在Tomcat的环境中,指定的数据源没有被正确地绑定或配置。 要解决这个问题,首先需要在Tomcat的配置文件中...

Global site tag (gtag.js) - Google Analytics