我们是9程序员工作在java Web应用程序使用hibernate框架,但我们有问题运行(在运行模式,调试模式)项目,每次我们想测试的项目,我们必须等待Hibernate创建SessionFactory和所有关系查询!我应该怎么做才能让Hibernate工作得更快?
发布于 2009-07-30 12:17:59
你能否详细说明一下所需的时间:
,
,
根据你的回答,可以研究几个方向,比如通过巧妙的配置实际减少(我担心只有几个百分点)时间……
但我最初的猜测是,你可能会有一个更聪明的做法,实际上不为你的测试实例化Hibernate。这样就能解决所有问题了,不是吗?尽管这样说可能看起来很愚蠢,但我们是这样做的:
诚然,这种测试组织会影响应用程序设计和代码,但这也是当前最佳实践所规定的,因此我们可以从中受益良多。示例:
algo之前:调用dao进行数据库通信的业务算法可以是: algo
== do algo B
<
1. if (b) dao.save(one, two, a, b)
以前,我们不能独立于数据库测试"do algo AB“,因为它是包括数据库访问的全局过程的一部分(更重要的是,访问与逻辑混合在一起)。
之后,"do algo AB“很容易在UnitTesting中测试。
我们还发现,先进行只读数据库操作,然后进行处理,然后再进行只写数据库操作,这样做有很多优点。
请注意,Daos测试可以使用IntegrationTesting完成。实际上,在我们的项目中,我们将JUnit的重点放在UnitTesting上,并且只有很少的IntegrationTests,我们直接从UI测试它们中的大多数……IntegrationTesting的投资回报率不是很好;-)
Junit.org站点提供了许多用于测试策略的资源。我也很喜欢Rainsberger这本优秀的书( http://www.manning.com/rainsberger/),我绝对推荐给任何使用自动化测试并且有多个开发人员的项目。:-)
发布于 2009-07-27 07:36:09
需要多长时间?我知道这需要一些时间,但不会太久。我不明白你在这里能做什么,如果花那么多时间的话。
你确定是会话工厂在花时间,而不是你的应用程序中在启动时初始化的其他东西吗?
您可以使用单元测试来测试代码的某一部分,从而减少整个应用程序的启动。
https://stackoverflow.com/questions/1186580
复制相似问题