我有一个pojo类(Location),其属性为

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


现在,当我尝试在jackrabbit存储库中插入位置对象时。
它给出错误为:

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)


我如何在存储库中保存对象?
提前致谢。

最佳答案

我也面临着同样的问题。看看这个链接
http://osdir.com/ml/users.jackrabbit.apache.org/2009-06/msg00129.html

默认情况下,@Collection不支持基于<String, String>的地图,
元素必须是基于bean的类,而不是原始类型。如果你
要使用原始类型或包装器类,则必须使用
收集转换器MultiValueCollectionConverterImpl

尽管问题已解决,但我仍然不确定如何存储值。

10-08 13:27