Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java H2内存数据库:不可选择的数据_Java_H2 - Fatal编程技术网

Java H2内存数据库:不可选择的数据

Java H2内存数据库:不可选择的数据,java,h2,Java,H2,我使用持久数据存储已经将近一年了,使用字符串连接 jdbc:h2:gpfp;MV_存储=假;跟踪级文件=0;文件锁定=否 和运行单元测试;一切都很好。最近,我决定尝试完整的内存模式,而不仅仅是使用内存表。我使用H2控制台连接到数据库并执行 脚本到“c:\temp\mpfp.db” 要生成备份,我将使用加载到内存中的数据库 来自“c:\temp\mpfp.db”的运行脚本 这似乎工作得很好,因为我生成了一个内存中的数据库,其中包含我需要的表和内容;我在控制台和应用程序中对此进行了测试。然而,当我运

我使用持久数据存储已经将近一年了,使用字符串连接

jdbc:h2:gpfp;MV_存储=假;跟踪级文件=0;文件锁定=否

和运行单元测试;一切都很好。最近,我决定尝试完整的内存模式,而不仅仅是使用内存表。我使用H2控制台连接到数据库并执行

脚本到“c:\temp\mpfp.db”

要生成备份,我将使用加载到内存中的数据库

来自“c:\temp\mpfp.db”的运行脚本

这似乎工作得很好,因为我生成了一个内存中的数据库,其中包含我需要的表和内容;我在控制台和应用程序中对此进行了测试。然而,当我运行单元测试时,我注意到现在有一个测试失败了(确切地说是19个测试中的第15个)。。。我正在对列执行一个简单的选择,db引擎无法检索结果,但是如果我选择整个数据集并滚动浏览,我可以找到值。我已经确认,在我的手动测试中,这不是一个区分大小写的问题

这里发生了什么事?我将数据库和生成的文件中的数据从脚本检查到。我没有更改任何单元测试,只是更改了数据库的组成;内存与持久性


知道生成原始表的DDL为每个表使用CREATEMEMORYTABLE可能会有所帮助,我使用的是H2版本1.4.178。。。这可能是MV_商店的问题吗?我在持久性存储中显式地将其设置为false,因为我遇到了一个类似的问题,没有得到结果,但是在jdbc:h2:mem:…中附加了MV_store=false。。。似乎什么也没做。作为另一个测试,我还将JVM内存提升到2g和4g,结果仍然相同。

我将h2依赖项恢复到1.3.176版本,这似乎不是问题。还有其他人有类似的发展问题吗?