在我的应用程序中,我需要能够关闭所有 HSQL 连接、删除数据库文件,然后打开创建新数据库的新连接。我在磁盘上使用缓存表。
我发现 HSQL 正在记住旧数据库的内容——即使我已经从磁盘中删除了这些文件并建立了新的连接!我已经在 org.hsqldb.jdbc.JDBCConnection 类的构造函数上放置了断点,以验证我正在获取新的 Connection 对象(我是)。
如果我停止并启动该进程,那么 HSQL 会正确地“忘记”旧数据库并重新启动,但这是一个服务器端进程,我无法轻松停止和启动。
到目前为止,我发现的唯一解决方案是对 HSQL 数据文件的路径进行一些调整,这样它就不会尝试使用上次连接中的缓存数据。我希望有一些方法可以在 HSQL 中调用来清除缓存,这样新的连接就不会从旧数据中记住任何数据。