4

在为 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

4

1 回答 1

0

创建序列(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.
于 2012-09-28T12:32:13.223 回答