以下是我使用junit4下myeclipse环境下测试hibernate方法的心得
1、使用AbstractTransactionalJUnit4SpringContextTests
(1)实现测试方法结束后,自动结束事务。一个test类中所有的test方法都是在一个事务内,回滚时会全部回滚
(2)如http://berserker-12.iteye.com/admin/blogs/390329中提到的,可以取得当前的session,每次更改了缓存中类的关系,或者调用的dao方法,要立刻呈现到数据库的时候可以调用flushSession(),就可以进行测试了,同时可以使用countRowsInTable,取得相应表的行数,来看数据库是否已经改变了。
(3)载入配置文档和使用junit4进行测试的注释如下,../为相对路径
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"../applicationContext.xml"})
(4)这次实验中,由于存在多对多关系,会出现缓存中的对象并没有随着数据库的变化而变化,就算调用了flushSession()也一样,而且cascade是选用all的也是无法同步。最后只好进行sessionFactory.getCurrentSession().clear()来清空缓存,再重新读取数据才可以正确得到数据,原因不明
(5)@Before 和 @After 的方法调用与所有test方法之前,并且和所有test方法都处于同一个事务中,@BeforeTransaction 和 @AfterTransaction 则是不同事务
分享到:
相关推荐
外加一些关于struts2和hibernate的技巧心得整理. 说一下这次3.0更新的内容.可能大家在我的博客里面已经看到了相关的日志.我懒.下面就把那个日志抽出来当说明了啊.有兴趣的就下载下来瞅瞅.偶也是菜鸟的.写的不好不要...
10. **数据库操作**:连接数据库,使用JDBC进行数据查询、插入、更新和删除,以及了解ORM(对象关系映射)框架如Hibernate。 11. **单元测试**:学习JUnit等测试框架,编写单元测试以确保代码质量。 12. **项目...
可能使用了Java集合框架、Java持久化技术如JPA或Hibernate来与数据库交互。 3. **销售管理**:这部分涵盖了订单处理、跟踪销售进度、预测销售额等功能。源码中可能包含了对销售数据的分析和报表生成,可能使用了...
在项目中,我们可能用到了Spring框架进行依赖注入和控制反转,使用Hibernate或MyBatis进行数据库操作,以及使用Maven或Gradle进行项目管理和构建。熟练掌握这些技术,并灵活运用到实际项目中,能大大提高开发效率。 ...
9. **框架集成**:在各种框架集成中,如Hibernate与Spring的结合,反射用于动态加载和实例化数据访问对象。 10. **动态代码生成**:反射还可以用于生成动态字节码,实现运行时代码的生成和修改。 总结 Java反射...
在当前的互联网时代,个人博客系统已经成为技术爱好者、博主分享知识和心得的重要平台。本项目“基于SpringBoot+MySQL的个人博客系统”利用了SpringBoot框架的强大功能和MySQL数据库的高效数据管理,构建了一个简洁...
本文将从我的个人经验出发,分享在学习日语和进行对日Java开发过程中的一些心得体会。 首先,语言是沟通的桥梁。在对日Java开发中,语言能力的重要性不言而喻。不仅要理解日语技术文档,还要与日本客户或团队成员...
9. **数据库操作**:Java通常与各种数据库如MySQL、Oracle、MongoDB等配合使用,JDBC是连接数据库的标准接口,而ORM(对象关系映射)框架如Hibernate则简化了数据库操作。 10. **单元测试**:JUnit是Java的单元测试...
- **后端技术栈**:Spring Boot作为后端开发框架,结合MyBatis、Hibernate等ORM框架实现数据访问。 - **数据库选择**:MySQL、PostgreSQL等关系型数据库,或MongoDB等NoSQL数据库。 - **开发流程**: - **需求...
本项目是一个JavaEE项目,它利用SpringBoot构建了一个美食分享管理平台,旨在提供一个方便、高效的在线环境,让用户能够分享和探索各种美食制作方法和心得。下面我们将深入探讨这个项目的关键知识点和技术实现。 1....
【标题】"javaxc.rar_jsp_ssh_在线学习平台"是一个使用Java技术栈,特别是SSH框架(Struts、Spring和Hibernate)开发的在线学习平台。这个项目旨在为学生和教师提供一个交互式的环境,以便他们可以进行编程和IT知识...
4. 测试:使用JUnit、Mocha或Jest进行单元测试,E2E测试工具如Cypress或Nightwatch,确保系统功能的正确性。 5. 部署:利用Docker容器化技术,配合Kubernetes或Docker Compose进行服务部署,确保系统的可伸缩性和高...
- `hibernate.cfg.xml`: jBPM使用Hibernate进行数据存储,此文件用于配置Hibernate。 - `jbpm.cfg.xml`: jBPM配置文件,采用默认配置,可查看并自定义配置细节。 - `log4j.properties`: log4j的日志配置文件,...
12. **单元测试**:JUnit的使用,编写和运行单元测试。 13. **注解**:了解Java注解的使用,如@Override、@Deprecated等标准注解,以及自定义注解。 这份"非常有用的Java尝试"压缩包很可能是作者通过实战项目积累...
4. **JPA与Hibernate**:JPA是Java的ORM(对象关系映射)标准,而Hibernate是其流行的实现。了解实体管理、查询API,以及事务管理,有助于高效地处理数据库交互。 5. **Maven或Gradle**:作为项目构建工具,Maven或...
9. **测试与调试**:使用JUnit进行单元测试,确保每个模块的功能正确;通过集成测试检查各模块间的协作;利用性能测试工具如JMeter评估系统性能,进行调优。 通过以上步骤,我们可以构建出一个高效、稳定且用户友好...
Spring框架还包含了数据访问、事务管理、远程服务、邮件服务等多个模块,支持JDBC、ORM(如Hibernate)和OXM(对象-XML映射)等多种数据访问技术。 **SpringMVC** 是Spring框架的一个模块,专门用于处理Web请求。它...
这表明系统可能利用了Java的强大功能和灵活性,例如使用Spring Boot框架来构建后端服务,Thymeleaf或JSP作为视图层,以及MyBatis或Hibernate作为数据访问层。此外,为了保证高性能和可扩展性,可能还采用了微服务...