"Fossies" - the Fresh Open Source Software Archive

Member "grails-core-5.2.4/grails-docs/src/test/resources/docs/ref/Domain Classes/findOrCreateWhere.html" (14 Sep 2022, 60299 Bytes) of package /linux/www/grails-core-5.2.4.tar.gz:

Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the grails-core-5.2.4.tar.gz project site itself.

(Quick Reference)



Uses named arguments that match the property names of the domain class to produce a query that returns the first result. This method behaves just like findWhere except that it will never return null. If a matching instance cannot be found then a new instance will be created, populated with values from the query parameters and returned. The difference between this method and findOrSaveWhere is that this method will not save a newly created instance where findOrSaveWhere does.


Given the domain class:

class Book {

   String title
   Date releaseDate
   String author

   static constraints = {
      releaseDate nullable: true

You can query in the form:

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



  • queryParams - A Map of key/value pairs to be used in the query. If no matching instance is found then this data is used to initialize a new instance.