Java Spring : MongoRepository count() and findAll()

bubbles :

I have noticed something weird in Spring data for mongo :

MongoRepository extends CrudRepository and the findAll() returns an Iterable which it's ok with the count() method as it returns a long.

class CrudRepository {

  ...

  Iterable<T> findAll();

  long count();
}

In mongo MongoRepository the findAll() method returs a List :

class MongoRepository extends CrudRepository {

  ...  

  @Override
  List<T> findAll();
}

But a List#size() returns an int and the MongoRepository#count() method stay returning a long.

What happens when the collection exceed Integer.MAX_VALUE !? Could we still call List<T> findAll() ?

Bilal Ekrem Harmanşa :

I liked your view point :) This question looks similar based on what you're asking to this question.

As it mentioned in Java Language Specification: 15.10.1. Array Creation Expressions:

Each dimension expression undergoes unary numeric promotion (§5.6.1). The promoted type must be int, or a compile-time error occurs.

Since dimension has to be an int, we can stores maximum the size 2,147,483,648 in an array and also considering an ArrayList is nothing else but an Array, we can not store more than INTEGER.MAX_VALUE in an ArrayList. (Different implementations of List could behave differently, of course)

Spring Data JPA allows you to customize query methods. You are always free to create a query method which returns type is Iterable.

@Override
Iterable<T> findAll();

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

Spring MongoRepository is Null

Autowire MongoRepository in Spring MVC

Spring Boot MongoRepository ignoring validation

Spring MongoRepository, where to catch the exception?

Resolve variable name for MongoRepository in Spring

MongoRepository JSON Date Query (Spring)

SpringData MongoRepository Count and Where clause combination

Spring Data MongoRepository between for int values

Spring MongoRepository is updating or upserting instead of inserting

could not found bean for MongoRepository (Spring Boot)

findByParentIdDeletedIsFalse like query in Spring Boot MongoRepository

Spring MongoRepository query adding _class field to queries

Spring MongoRepository very slow to convert POJO

Spring data mongorepository, find by inner object field

Limit findAll possible with Spring?

BeginnerQuestion Spring and MongoDB findAll

Spring findAll by parent propriety

Spring Data Mongodb & Spring Boot - autowiring MongoRepository from Mongolab

Keep reference data in application memory in spring application (spring MongoRepository)

Spring Data MongoRepository save(T) not working... sometimes

Custom @Query annotated method for update query with spring data MongoRepository

Custom @Query annotated method for update query with spring data MongoRepository

Spring Data- MongoRepository : Can we have binary type as the _id?

What's the difference between Spring Data's MongoTemplate and MongoRepository?

Spring Data MongoRepository Saving Objects with Differing Numbers of Fields

How to use OrderBy with findAll in Spring

Spring-Data-JPA throws "Caused by: java.sql.SQLException: Incorrect syntax near 'limit'." by using findAll

Regex inside findall vs regex inside count

Spring Data JpaRepository findAll(Iterable<ID> ids) + findAll(Sort sort)

TOP Ranking

  1. 1

    Failed to listen on localhost:8000 (reason: Cannot assign requested address)

  2. 2

    Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

  3. 3

    How to import an asset in swift using Bundle.main.path() in a react-native native module

  4. 4

    pump.io port in URL

  5. 5

    Compiler error CS0246 (type or namespace not found) on using Ninject in ASP.NET vNext

  6. 6

    BigQuery - concatenate ignoring NULL

  7. 7

    ngClass error (Can't bind ngClass since it isn't a known property of div) in Angular 11.0.3

  8. 8

    ggplotly no applicable method for 'plotly_build' applied to an object of class "NULL" if statements

  9. 9

    Spring Boot JPA PostgreSQL Web App - Internal Authentication Error

  10. 10

    How to remove the extra space from right in a webview?

  11. 11

    java.lang.NullPointerException: Cannot read the array length because "<local3>" is null

  12. 12

    Jquery different data trapped from direct mousedown event and simulation via $(this).trigger('mousedown');

  13. 13

    flutter: dropdown item programmatically unselect problem

  14. 14

    How to use merge windows unallocated space into Ubuntu using GParted?

  15. 15

    Change dd-mm-yyyy date format of dataframe date column to yyyy-mm-dd

  16. 16

    Nuget add packages gives access denied errors

  17. 17

    Svchost high CPU from Microsoft.BingWeather app errors

  18. 18

    Can't pre-populate phone number and message body in SMS link on iPhones when SMS app is not running in the background

  19. 19

    12.04.3--- Dconf Editor won't show com>canonical>unity option

  20. 20

    Any way to remove trailing whitespace *FOR EDITED* lines in Eclipse [for Java]?

  21. 21

    maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

HotTag

Archive