我有一个java类,如下所示
@Data
@Document(collection="sample_collection")
public class sampleClass {
private Instant createTime;
private Object payLoad;
// some more fields
}
有效负载对象可以是null或不同类的对象,并且可以包含bytebuffer类型的字段。
现在,在尝试将其作为文档保存到mongo时,我没有遇到任何问题,但是在检索文档时,我得到instantiationexception(每当payload对象被填充并且具有bytebuffer字段时)
以下是例外情况的详细信息:
org.springframework.data.mapping.model.MappingInstantiationException: Failed to instantiate java.nio.HeapByteBuffer using constructor NO_CONSTRUCTOR with arguments
at org.springframework.data.convert.ReflectionEntityInstantiator.createInstance
at org.springframework.data.convert.ClassGeneratingEntityInstantiator.createInstance
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read
我找不到为heapbytebuffer字段定义构造函数的方法。任何线索都将不胜感激。
1条答案
按热度按时间1hdlvixo1#
从我的观点来看,您应该在实体中使用更具体的类作为字段,或者您可以尝试使用转换器作为解决此问题的方法:在springdatamongo中设置自定义转换器