我将Spring的AbstractTransactionalDataSourceSpringContextTests用于我的持久性单元测试,而我的问题是我的测试太慢了:1 method = 5s,每个其他方法至少要再花一秒钟。我有300多个db表,因此启动缓慢可能是可以理解的。但是,我已经浏览了日志,令人惊讶的事情之一是为每个测试方法重建了Hibernate sessionFactory。而且这是每种其他方法的运行时成本的一半。

我不应该能够重用原始的sessionFactory吗?

我已经对源代码进行了一些研究,但还没有找到一种强制重用sessionFactory的明显方法。

有任何想法吗?

还有其他加快持久性单元测试的想法吗?

(Spring 2.5和Hibernate 3.2ish,hsqldb)

最佳答案

您应该编写一个左右的帮助器类,以便可以包装ISessionFactory API,最好将其设置为静态,因此仅创建一次,因为此API的实例化非常昂贵。

关于java - 为每个单元测试重建Hibernate sessionFactory(使用spring框架),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2381148/

10-11 02:20