Mongo-Spring JPA在findAll()调用中给出IndexOutOfBoundsException


java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.bulkReadAndConvertDBRefMapIntoTarget(MappingMongoConverter.java:1447)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readMap(MappingMongoConverter.java:1047)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:225)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1408)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter$MongoDbPropertyValueProvider.getPropertyValue(MappingMongoConverter.java:1355)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.getValueInternal(MappingMongoConverter.java:952)
at org.springframework.data.mongodb.core.convert.DefaultDbRefResolverCallback.resolve(DefaultDbRefResolverCallback.java:61)
at org.springframework.data.mongodb.core.convert.DefaultDbRefResolver.resolveDbRef(DefaultDbRefResolver.java:103)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readAssociation(MappingMongoConverter.java:358)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readProperties(MappingMongoConverter.java:319)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:292)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(M

---------------

这是mongo jpa方法的调用

List<LegalDocument> legalDocumentList = legalDocumentRepository.findAll(Pageable.unpaged()).getContent();
-------------------------------------------------------------

此代码显示存储库

@Repository
public interface LegalDocumentRepository extends MongoRepository<LegalDocument, String> {
@Override
Page<LegalDocument> findAll(Pageable pageable);
}

我使用这个findAll((方法的时间很长。但现在它给出了IndexOutOfBound。即使我在存储库中也有很多可用的方法。请帮我解决这个问题。Springboot 2.0.5版本和Mongo 4.2 Atlas

MongoRepository扩展了PagingAndSortingRepository,您不需要在存储库中编写方法来删除它

Page<LegalDocument> legalDocuments = legalDocumentRepository.findAll(Pageable.unpaged());

您使用的是Pageable.unpaged(),这意味着您不需要分页,而是使用getContent()来获取列表。但你们不需要这样做,你们可以通过这种方式直接得到列表。

List<LegalDocument> legalDocumentList = legalDocumentRepository.findAll();

最新更新