HSQLDB Junit 测试对 DB2 和 SQL Server NOLOCK 查询失败
Posted
技术标签:
【中文标题】HSQLDB Junit 测试对 DB2 和 SQL Server NOLOCK 查询失败【英文标题】:HSQLDB Junit tes failing for DB2 and SQL Server NOLOCK queries 【发布时间】:2019-01-15 17:22:02 【问题描述】:对于我们的 junit 的 sprinboot 应用程序,我们使用了 HSQL,而我们正在使用的实际数据库是 DB2 或 MS SQL Server,不幸的是,在 DB2 查询中,我们应该使用 NOLOCK,因为 HSQLDB 不支持与我的 dao 相关的 junit 失败没有锁。
我的 HSQLDB 版本是 2.3.3,我想有一些规定可以忽略没有锁,如果是这样,该怎么做。或者有什么解决方法,比如使用一些 @primary bean,我可以在其中放置我的查询,以便 junit不读取与锁相关的查询。
我正在为我的 junits 使用 sprinbootest 跑步者。抱歉,我无法粘贴我的代码。
【问题讨论】:
您需要编辑并更正您的问题 【参考方案1】:HSQLDB 支持无锁的 DB2 语法。您需要使用最新版本 2.4.1。 NOLOCK 关键字用于 SQL Server。 DB2 使用 UR
SELECT * FROM WITH UR
【讨论】:
抱歉混淆了 ms sql 所以在 2.4.1 我可以使用 nolock 是吗? 是的,您可以在 SQL Server 兼容模式下使用 WITH(NOLOCK)。以上是关于HSQLDB Junit 测试对 DB2 和 SQL Server NOLOCK 查询失败的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 HSQLDB 内存数据库设置为 Maven 项目执行 Junit 测试套件?
HSQLDB + JUnit + Hibernate:java.sql.SQLException:无效的模式名称
Junit 测试用例 - HSQLDB count(...) over (partition ... order by ...)