1

プロパティを持つpojoクラス(Location)があります

@Collection(jcrType="nt:map") Map<String, String> map;

今、jackrabbit リポジトリに Location オブジェクトを挿入しようとしています。次のようなエラーが発生しています。

org.apache.jackrabbit.ocm.exception.IncorrectPersistentClassException: Class of type: java.lang.String has no descriptor. 
        at org.apache.jackrabbit.ocm.mapper.impl.AbstractMapperImpl.getClassDescriptorByClass(AbstractMapperImpl.java:203) 
        at org.apache.jackrabbit.ocm.manager.collectionconverter.impl.DefaultCollectionConverterImpl.doInsertCollection(DefaultCollectionConverterImpl.java:116) 
        at org.apache.jackrabbit.ocm.manager.collectionconverter.impl.AbstractCollectionConverterImpl.insertCollection(AbstractCollectionConverterImpl.java:80) 

オブジェクトをリポジトリに保存するにはどうすればよいですか? 前もって感謝します。

4

1 に答える 1

1

私も同じ問題に直面していました。このリンクを見てください http://osdir.com/ml/users.jackrabbit.apache.org/2009-06/msg00129.html

デフォルトで@Collectionは、 は に基づくマップをサポートしていません<String, String>。要素は、プリミティブ型ではなく、Bean ベースのクラスである必要があります。プリミティブ型またはラッパー クラスを使用する場合は、コレクション コンバーターを使用する必要がありますMultiValueCollectionConverterImpl

問題は解決しましたが、値がどのように保存されているかはまだわかりません。

于 2012-12-05T10:52:56.673 に答える