我有许多从配置XML文件生成的HQL查询(~2000)。
当然,进行涵盖所有这些案例的集成测试会很棒,但不幸的是,在我公司认为测试是个好主意的时代之前,这是旧代码。
编写涵盖所有这些文件的完整集成测试现在显然超出了范围。但是,查找导致错误查询(例如from SomeRandomUnmappedClass
或select propertyThatDoesNotExist from SomeClass
)的配置文件会产生很大帮助。没有设置参数并且不与实际数据库通信的快速“编译检查”应该可以解决问题。但是怎么做呢?
(顺便说一下:我被困在古老的Hibernate 3.3.2上)
答案 0 :(得分:0)
实际上这很简单:因为你有一个集成测试设置,无论如何都可以用HSQLDB启动hibernate上下文,你可以执行:
session.createQuery(hql);
这将返回一个查询对象,通常您将设置参数然后执行查询。但是,在createQuery
- 调用期间,已执行所需的检查。如果出现错误则抛出异常。只需切掉参数设置和执行!
(有时解决方案太明显了; - ))