gpt4 book ai didi

java - 有关 OpenJPA 的 HSQLdb 权限

转载 作者:行者123 更新时间:2023-12-01 16:04:19 25 4
gpt4 key购买 nike

我 ( still ) 在 HSQLdb 和 OpenJPA 方面遇到了很多问题。

Exception in thread "main" <openjpa-1.2.0-r422266:683325 fatal store error> org.apache.openjpa.persistence.RollbackException: user lacks privilege or object not found: OPENJPA_SEQUENCE_TABLE {SELECT SEQUENCE_VALUE FROM PUBLIC.OPENJPA_SEQUENCE_TABLE WHERE ID = ?} [code=-5501, state=42501]
at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:523)
at model_layer.EntityManagerHelper.commit(EntityManagerHelper.java:46)
at HSQLdb_mvn_openJPA_autoTables.App.main(App.java:23)

HSQLdb 作为服务器进程运行,绑定(bind)到我本地计算机上的端口 9001。用户是SA。它的配置如下:

<persistence-unit name="HSQLdb_mvn_openJPA_autoTablesPU"
transaction-type="RESOURCE_LOCAL">
<provider>
org.apache.openjpa.persistence.PersistenceProviderImpl
</provider>
<class>model_layer.Testobjekt</class>
<class>model_layer.AbstractTestobjekt</class>
<properties>
<property name="openjpa.ConnectionUserName" value="SA" />
<property name="openjpa.ConnectionPassword" value=""/>

<property name="openjpa.ConnectionDriverName"
value="org.hsqldb.jdbc.JDBCDriver" />
<property name="openjpa.ConnectionURL"
value="jdbc:hsqldb:hsql://localhost:9001/mydb" />

<!--
<property name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(ForeignKeys=true)" />
-->
</properties>
</persistence-unit>

我已经与 ORM 层成功连接。我可以创建并连接到我的 EntityManager。

但是每次我使用

EntityManagerHelper.commit();

它因该错误而失败,这对我来说毫无意义。 SA 是我用来创建表的标准管理员用户。它应该能够作为该用户持久保存到 hsqldb 中。

编辑:经过几个小时的调试,我发现了失败的原因。如果您未设置所需的表条目(NOT NULL),也会出现此类错误消息。这对我来说并没有表明这一点。由于权限问题缺少条目,OpenJPA 层似乎错误地无法插入语句。因此我只是接受了第一个答案。感谢您的阅读:)

最佳答案

我印象深刻的是 HSQL 无权在配置的目录中写入其数据文件。

当我以 root/管理员身份手动测试服务器时,这种情况经常发生在我身上,并且当我将其作为守护程序/服务启动时,它会更改为特权较低的用户。然后,当服务器运行时,这些文件由另一个用户拥有。

这可能是其他原因:在 Windows 上,当另一个进程(另一个服务器实例)仍然保留文件时,或者甚至当 eclipse 以其无限的智慧决定对数据库建立索引时,我就会遇到这种情况。

关于java - 有关 OpenJPA 的 HSQLdb 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2951763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com