繁体   English   中英

使用hbm2ddl在HQLnate中生成HSQLDB序列时出错

[英]Error generating sequence in HSQLDB with Hibernate using hbm2ddl

我在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.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM