Grails:DomainClass.findAllBy*的返回类型是什么?

Joh*_*tle 3 grails

grails有findAllBy*的文档,但它没有告诉你它返回什么,或者如何使用它.例如

def results = Book.findAllByTitleLike("%Hobbit%)
Run Code Online (Sandbox Code Playgroud)

结果是一张地图?一套?一个列表?具有分页和附加功能的特殊对象,并包含一系列Books?

intellij不知道类型或结果是什么(它认为它是一本书),官方grails文档没有告诉你,谷歌没有返回任何例子(我能找到),那么怎么能找到这样的信息呢?

如果没有找到书籍,会返回什么?空值?和某种空集合?如何安全地确定找到的书籍数量?如何访问退回的书籍?他们订购了吗?

Thi*_*att 9

findAllBy返回:

  • 一个ArrayList of Books,如果找到的话.
  • 一个空的ArrayList,如果找不到的话.

findBy(用于返回单个项目)返回:

  • 一本书,如果找到的话
  • 时为null

如果您对Groovy中的对象返回类型感到好奇,可以使用Apache Commons ReflectionToStringBuilder来显示返回类型:

import org.apache.commons.lang.builder.ReflectionToStringBuilder
...
log.error (new ReflectionToStringBuilder(results).toString())
Run Code Online (Sandbox Code Playgroud)