(快速参考)

findOrSaveWhere

用途

使用与领域类属性名称对应的命名参数来执行查询,返回第一个匹配的结果。此方法的行为就像 findWhere ,但绝不会返回 null。如果在数据库中找不到匹配的实例,则创建一个新实例,使用查询参数中的值填充,然后保存并返回。此方法与 findOrCreateWhere 的区别在于,此方法将保存新创建的实例,而 findOrCreateWhere 不会保存。

示例

给定领域类

class Book {

   String title
   Date releaseDate
   String author

   static constraints = {
      releaseDate nullable: true
   }
}

您可以以以下形式进行查询

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

描述

参数

  • queryParams - 要在查询中使用的键/值对映射。如果找不到匹配的实例,则使用此数据初始化新实例。