当我们将JPARepository与SpringBoot一起使用时,List <Object>的默认大小是多少?

时间:2019-06-06 10:27:31

标签: java hibernate spring-boot jpa spring-data-jpa

当我们定义 List objects = new ArrayList(); 时,其默认大小为10。

当我们定义 List objects = new ArrayList(50); 时,其初始大小为50。

但是如果我们像这样使用: 列出对象= xyzRepository.findByfield(value);

对于上面的代码:

  1. 默认情况下会创建哪个列表,默认大小是多少?
  2. 如果xyzRepository.findByfield(value)将创建列表的大小 返回200个对象?

1 个答案:

答案 0 :(得分:3)

如果您将Hibernate用作持久性提供程序,则在进行 $query = $this->find("all", [ 'conditions' => [ 'DATE(PUBLISHED_DATE)' => $selectedDate->i18nFormat('yyyy-MM-dd') ] ] ); 实现时,如果找不到行(SessionImpl.class),它将返回此值:

getResultList

下一步似乎是猜测初始大小:

List results = Collections.EMPTY_LIST; 

此后,如果找到了某些内容,则将这些行添加到 int guessedResultSize = this.guessResultSize(rowSelection); List combinedResults = new ArrayList(guessedResultSize); 列表中,该列表最终具有初始combinedResults或size =找到的行数。