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 に答える