(快速参考)

findOrCreateWhere

用途

使用与领域类属性名称匹配的命名参数来提出一个查询以返回第一个结果。此方法的行为与 findWhere 相同,但永远不会返回 null。如果无法找到匹配的实例,系统将会创建一个新实例,用查询参数中的值填充实例,然后返回该实例。此方法与 findOrSaveWhere 的区别在于此方法不会保存新创建的实例,但 findOrSaveWhere 会保存新创建的实例。

示例

鉴于存在以下领域类

class Book {

   String title
   Date releaseDate
   String author

   static constraints = {
      releaseDate nullable: true
   }
}

你可以按如下形式查询

def book = Book.findOrCreateWhere(author: "Stephen King", title: "The Stand")

说明

参数

  • queryParams - 包含要在查询中使用的键值对的 Map。如果找不到匹配的实例,系统将会使用此数据来初始化一个新实例。