2012-02-29 53 views

回答

2

实现这一点的简单方法是在一个事务中运行整个测试,并在测试结束时使用事务回滚。如果您使用弹簧框架,请参阅TransactionConfiguration诠释。

+0

其实我也想用persist进行测试,但是我不希望Hibernate将数据提交给数据库。可能吗? – joaosavio 2012-02-29 20:45:52

+0

是的。您可以使用save,saveOrUpdate或任何您需要的操作。查询进入数据库,但测试后所有内容都会回滚。这里是我为你搜索的一个链接,它是关于测试hibernate daos的。我不确定它是最新的,但基本思想是http://peterbacklund.blogspot.com/2006/11/testing-hibernate-daos-with-spring.html – 2012-02-29 22:54:44

0

您可以尝试将刷新模式设置为FlushMode.NEVER,因此容器不会隐式地将更改应用于数据库。

也可以尝试使连接为只读:session.connection().setReadOnly(true)

相关问题