3

サポートされていない永続データ型に関する公式ドキュメントには何も表示されないため、Groovy 言語で使用可能な型を処理する必要があるという仮定の下で作業しています。ただし、次のドメイン クラスの場合:

class DocGroupPermissions {

   Workgroup workgroup
   Document document;
   BitSet permissions = new BitSet(2)

   void setPermissions(boolean canRead, boolean canWrite) {
       setReadPermissions(canRead)
       setWritePermissions(canWrite)
   }

   void setReadPermissions(boolean canRead) {
      permissions.set(0,canRead)
   }
   void setWritePermissions(boolean canWrite) {
      permissions.set(1,canWrite)
   }

   boolean getReadPermissions() {
      return permissions.get(0)
   }

   boolean getWritePermissions() {
      return permissions.get(1)
   }


   static belongsTo = [workgroup:Workgroup, document:Document]

   static constraints = {
      workgroup(nullable:false, blank:false)
      document(nullable:false, blank:false)
   }
}

私は得ています:

2009-11-15 16:46:12,298 [メイン] エラー context.ContextLoader - コンテキストの初期化に失敗しました ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'transactionManager' という名前の Bean の作成中にエラーが発生しました: Bean プロパティ 'sessionFactory' の設定中に Bean 'sessionFactory' への参照を解決できません。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'sessionFactory' という名前の Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.MappingException です: テーブル doc_group_permissions からの関連付けは、マップされていないクラスを参照しています: java.util.BitSet

誰もこれに遭遇したことがありますか?

4

1 に答える 1

0

すべてのタイプがマップされているわけではありません - これは実際には休止状態側の問題だと思います (ORM レイヤーは、知らないオブジェクトを永続化する方法を知る必要があります)。

joda-time プラグインを確認してください。これには、joda Dates クラスを休止状態にマップする特別なライブラリが付属しており、マッピング クロージャで指定する必要があります。

誰かが BitSet の休止状態の永続化プログラムを作成したかどうかを確認するか、別のクラスを使用してみてください。

于 2009-11-16T18:04:47.863 に答える