问题标签 [hsqldb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
10325 浏览

java - 在不同情况下使用不同的 Hibernate 用户类型

我使用 Hibernate + JPA 作为我的 ORM 解决方案。

我使用 HSQL 进行单元测试,使用 PostgreSQL 作为真正的数据库。

我希望能够在 Hibernate 中使用 Postgres 的本机UUID类型,并在其字符串表示中使用 UUID 和 HSQL 进行单元测试(因为 HSQL 没有 UUID 类型)。

我正在为 Postgres 和 HSQL 单元测试使用具有不同配置的持久性 XML。

这是我如何让 Hibernate “看到”我的自定义 UserType:

这很好用。但我需要的是能够将注释的“com.xxx.UUIDStringType”部分换出 XML 或属性文件,无需重新编译即可更改。

有任何想法吗?

0 投票
1 回答
1386 浏览

database - Question about HSQL DB in memory database

I have created a memory-only server instance of hsqldb , is it possible for me to connect to this memory database from 2 clients in separate jvms ?

0 投票
2 回答
1492 浏览

unit-testing - 为什么我的 DBUnit 测试会消耗这么多内存?

我有一个基于休眠的应用程序,它使用 DBUnit 进行单元测试。我们有一个 XML 测试数据库,它在每个测试的 setUp() 中加载了虚拟数据,并在 tearDown() 期间删除。问题是我不能再在 IDE(在本例中为 Intellij)中运行整个套件,因为经过大约 300 次测试后,堆内存已全部用完。测试从大约 0.3 秒到 30+ 秒执行,直到 JVM 最终放弃并死掉。

当我通过 ant 的 junit 任务运行测试套件时,没有问题,也没有为单个类运行测试套件。但是,我喜欢在检查代码库的大型重构更改之前能够在本地运行整个套件,而不是破坏 CI 服务器上的构建。

我正在使用 -Xmx512m 作为 JVM 的唯一参数运行测试套件,这与我在 CI 服务器上运行任务时传递给 ant 的数量相同。我的 hibernate-test.cfg.xml 看起来像这样:

我们编写了一个类,所有测试类都从该类扩展,看起来像这样:

很明显,这里发生了一些内存泄漏,但我不确定在哪里。我该如何诊断?

0 投票
2 回答
8720 浏览

java - 在 Hsqldb 数据库中存储长字符串(CLOB)?

所以这里有一些代码:

这会引发异常“错误的数据类型:语句 [...] 中的 CLOB”。有没有办法将 CLOB 存储在 Hsqldb 数据库中?文档说是。或者也许我对 SQL 的了解太生疏了,以至于我忘记了如何定义它们。

0 投票
6 回答
1567 浏览

java - 在 Java 中查询分隔文本文件的最佳工具是什么?

我需要对包含几列的文本文件执行基本查询。我尝试使用 StelsCSV,它是 CSV 文件的 JDBC 驱动程序。它很好,但很商业。您知道用于同一任务的其他工具吗?

0 投票
5 回答
5056 浏览

java - 在 Java 中的 Firebird 和 HSQLDB 之间进行选择

我想用 Java 编写一个小型(5-6 表)桌面应用程序。我想使用火鸟 2.1。数据库。但我用谷歌搜索并看到了 HSQLDB。我想在 Firebird 和 hsqldb 之间做出决定。

那么我必须使用哪个数据库?

0 投票
2 回答
3504 浏览

java - 在基于方言的 Hibernate 标准 API 中使用不同的投影函数

我想在我使用标准 API 构建的查询中使用标准偏差投影。我可以像这样简单地做一些事情

}

然后我可以将它与我的标准一起使用:

那都很好。但我的问题是我使用 HSQLDB 进行任何数据库单元测试等,而我们使用 Oracle 进行部署。stddev 函数在 oracle 中完美运行,但在 HSQLDB 中不存在。HSQLDB 有 stddev_pop 和 stddev_samp 。那么有没有办法可以根据方言使用不同的功能。

我也许可以扩展 HSQL 方言以将“stddev”注册到适当的 HSQL 函数,但是我不确定如何在使用 Criteria API 构造的查询中使用 hsql 函数。

任何帮助都会很高兴。

谢谢

0 投票
1 回答
3043 浏览

hsqldb - 在 HSQLDB 中使用完全外连接

HSQLDB 支持完全外连接。我一直在尝试使用它,但它不起作用。我正在尝试做这样的事情。

  1. 查询 1 从表 A 中提取数据作为键、值
  2. 查询 2 从表 B 中提取数据作为键,值现在我需要一个外连接,我将在其中组合键匹配的两个数据,并获取键不匹配的数据。如果 HSQLDB 不支持外连接(我们正在使用 hsqldb 并且无法更改数据库),我应该使用什么来有效地实现这一点。

谢谢。

0 投票
1 回答
2011 浏览

java - 使用自动生成的键为数据库项创建 JUnit 测试

我有一个带有存储在数据库中的主键的类。创建类的新实例时,它可以从 HSQLDB 数据库中获取,也可以对于不在数据库中的项目,它会插入除主键之外的所有内容,这是自动生成的并返回给类以设置 id 属性。然后我有一个 getID() 方法来检索这个 ID。

我正在尝试编写一个 JUnit 测试来检查以确保生成的 ID 是 getID() 方法返回的内容,但我已经使用“CALL IDENTITY”查询来检索构造函数内的 ID 以及此返回 0 的后续使用。确保生成的 ID 与 getID() 方法返回的 ID 相同的最佳方法是什么?

0 投票
3 回答
639 浏览

java - HSQLDB - 对用户隐藏数据库结构/内容

我正在考虑在桌面应用程序中使用 HSQLDB 版本 1.8.x 来存储本地数据。据我所知,数据库作为一些 SQL 语句存储在磁盘上,用于创建表、插入数据等。

有没有一种简单的方法可以向用户隐藏它?我不一定需要将其完全加密,等等 - 我只是想防止临时用户简单地打开文件并查看数据库的结构。