gpt4 book ai didi

java - 使用 hbm2ddl 在 HSQLDB 中使用 Hibernate 生成序列时出错

转载 作者:搜寻专家 更新时间:2023-11-01 03:55:03 25 4
gpt4 key购买 nike

我在为 HSQLDB 中的 id 字段生成序列时遇到错误。映射文件配置如下:

<hibernate-mapping>
<class name="ddol.rtdb.dto.Configuration" table="RTDB_CONFIGURATION">
<id name="id" type="int">
<column name="CONF_ID" />
<generator class="sequence">
<param name="sequence">CONF_ID_SEQ</param>
</generator>
</id>
<property generated="never" lazy="false" name="configurationDate"
type="java.util.Date">
<column name="CONF_DATE" />
</property>

当我将相同的映射与 oracle 一起使用时它可以工作,但是当与 HSQLDB 一起用于测试时不会生成序列。还有什么我应该添加到映射中的吗?

当我尝试向表中插入内容时出现的错误是:

ERROR org.hibernate.util.JDBCExceptionReporter - user has no privileges or object not found: CONF_ID_SEQ

HSQLDB版本为2.2.8,Hibernate版本为3.6.10

最佳答案

创建序列(CONF_ID_SEQ - 如果它不存在)并确保您拥有“grant”权限。
或者,您可以为序列创建一个 "synonym" 并为所有用户或您想要的特定用户授予 "grant" 权限。那么它应该可以工作。

    E.g  
Consider, You are creating Sequence as "dbauser". Now, some other "user"(who don't have access) trying to use it,
then u will get "user has no privileges" error.
In that case you can use above strategy.

关于java - 使用 hbm2ddl 在 HSQLDB 中使用 Hibernate 生成序列时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10445805/

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