{"id":1557,"date":"2010-09-07T16:54:58","date_gmt":"2010-09-07T11:24:58","guid":{"rendered":"https:\/\/tothenewco.pro\/blog\/?p=1557"},"modified":"2016-12-19T15:06:07","modified_gmt":"2016-12-19T09:36:07","slug":"gorm-goodies-read-discard-refresh","status":"publish","type":"post","link":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/","title":{"rendered":"GORM goodies read, discard, refresh"},"content":{"rendered":"<p>Grails docs are the best source to understand how to make best use of GORM methods and now the <a href=\"http:\/\/blog.springsource.com\/2010\/06\/23\/gorm-gotchas-part-1\/\">GORM Gotcha&#8217;s series By Peter Ledbrook<\/a> is also making the docs easy to understand.<br \/>\nSo many time it happens when the domain instance values gets updated without calling save method.It  happens because the object is attached to hibernate session, to change this behavior we can use the method like read instead of get\/load.<br \/>\nWhat read actually do is <\/p>\n<pre lang=\"groovy\">\r\nPerson person = Person.read(1)\r\nprintln \"Output -: ${person?.firstname}\"  \/\/ Output -: Uday\r\nperson.firstname=\"Uday1\"\r\nprintln \"Output -: ${person?.firstname}\" \/\/ Output -: Uday1\r\n<\/pre>\n<p>The value is changed but it is not stored in the database. But the changes can be saved into the database if you explicitly call save().  <\/p>\n<p>The other approach could be removing the object from hibernate session, so that the changes made to the database do not get persisted to the database <\/p>\n<pre lang=\"groovy\">\r\nPerson person = Person.get(1)\r\nprintln \"Output -: ${person?.firstname}\"  \/\/ Output -: Uday\r\nperson.firstname = \"Uday1\"\r\nprintln \"Output -: ${person?.firstname}\" \/\/ Output -: Uday1\r\nperson.discard()\r\nprintln \"Output -: ${person?.firstname}\"  \/\/ Output -: Uday1\r\n<\/pre>\n<p>In above example, any change made to the object do not get persisted to the database . Again it will save the changes if you explicitly call save(). <\/p>\n<p>One more good method is refresh() which is used to load the object again from the database, so all the changes made to object will be reverted. Though it is not advisable but sometimes if you want to get the object to its original stage you can do it by refresh. <\/p>\n<pre lang=\"groovy\">\r\nPerson person = Person.get(1)\r\nprintln \"Output -: ${person?.firstname}\" \/\/ Output -: Uday\r\nperson.firstname = \"Uday1\"\r\nprintln \"Output -: ${person?.firstname}\" \/\/ Output -: Uday1\r\nperson.refresh()\r\nprintln \"Output -: ${person?.firstname}\" \/\/ Output -: Uday\r\n<\/pre>\n<p>These are the few goodies which are available with the GORM and we can use according to our use case :).<br \/>\n<\/p>\n<p>Hope it helps<br \/>\n<a href=\"https:\/\/tothenewco.pro\/blog\/author\/uday\/\">Uday Pratap Singh<\/a><br \/>\n<a href=\"mailto:uday@intelligrape.com\">uday@intelligrape.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Grails docs are the best source to understand how to make best use of GORM methods and now the GORM Gotcha&#8217;s series By Peter Ledbrook is also making the docs easy to understand. So many time it happens when the domain instance values gets updated without calling save method.It happens because the object is attached [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":18,"footnotes":""},"categories":[7],"tags":[383,385,384,386],"class_list":["post-1557","post","type-post","status-publish","format-standard","hentry","category-grails","tag-automatic-update-in-grails","tag-discard-usage","tag-read-usage","tag-refresh-usage"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Grails docs are the best source to understand how to make best use of GORM methods and now the GORM Gotcha&#039;s series By Peter Ledbrook is also making the docs easy to understand. So many time it happens when the domain instance values gets updated without calling save method.It happens because the object is attached\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Uday Pratap Singh\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"GORM goodies read, discard, refresh | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Grails docs are the best source to understand how to make best use of GORM methods and now the GORM Gotcha&#039;s series By Peter Ledbrook is also making the docs easy to understand. So many time it happens when the domain instance values gets updated without calling save method.It happens because the object is attached\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/tothenewco.pro\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/tothenewco.pro\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"GORM goodies read, discard, refresh | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Grails docs are the best source to understand how to make best use of GORM methods and now the GORM Gotcha&#039;s series By Peter Ledbrook is also making the docs easy to understand. So many time it happens when the domain instance values gets updated without calling save method.It happens because the object is attached\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/tothenewco.pro\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/gorm-goodies-read-discard-refresh\\\/#article\",\"name\":\"GORM goodies read, discard, refresh | TO THE NEW Blog\",\"headline\":\"GORM goodies read, discard, refresh\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/uday\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2010-09-07T16:54:58+05:30\",\"dateModified\":\"2016-12-19T15:06:07+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/gorm-goodies-read-discard-refresh\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/gorm-goodies-read-discard-refresh\\\/#webpage\"},\"articleSection\":\"Grails, automatic update in grails, discard usage, read usage, refresh usage\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/gorm-goodies-read-discard-refresh\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"position\":2,\"name\":\"Grails\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/gorm-goodies-read-discard-refresh\\\/#listItem\",\"name\":\"GORM goodies read, discard, refresh\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/gorm-goodies-read-discard-refresh\\\/#listItem\",\"position\":3,\"name\":\"GORM goodies read, discard, refresh\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/uday\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/uday\\\/\",\"name\":\"Uday Pratap Singh\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/gorm-goodies-read-discard-refresh\\\/#authorImage\",\"url\":\"https:\\\/\\\/newersworld-sf-static.tothenew.net\\\/prod\\\/profilePicFolder\\\/d4c98503-ff55-4112-8fc2-e3c4fcc6fc3a_282-Uday-Pratap-Singh-PROFILEPICTURE.jpeg\",\"width\":96,\"height\":96,\"caption\":\"Uday Pratap Singh\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/gorm-goodies-read-discard-refresh\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/gorm-goodies-read-discard-refresh\\\/\",\"name\":\"GORM goodies read, discard, refresh | TO THE NEW Blog\",\"description\":\"Grails docs are the best source to understand how to make best use of GORM methods and now the GORM Gotcha's series By Peter Ledbrook is also making the docs easy to understand. So many time it happens when the domain instance values gets updated without calling save method.It happens because the object is attached\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/gorm-goodies-read-discard-refresh\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/uday\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/uday\\\/#author\"},\"datePublished\":\"2010-09-07T16:54:58+05:30\",\"dateModified\":\"2016-12-19T15:06:07+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"GORM goodies read, discard, refresh | TO THE NEW Blog","description":"Grails docs are the best source to understand how to make best use of GORM methods and now the GORM Gotcha's series By Peter Ledbrook is also making the docs easy to understand. So many time it happens when the domain instance values gets updated without calling save method.It happens because the object is attached","canonical_url":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/#article","name":"GORM goodies read, discard, refresh | TO THE NEW Blog","headline":"GORM goodies read, discard, refresh","author":{"@id":"https:\/\/tothenewco.pro\/blog\/author\/uday\/#author"},"publisher":{"@id":"https:\/\/tothenewco.pro\/blog\/#organization"},"datePublished":"2010-09-07T16:54:58+05:30","dateModified":"2016-12-19T15:06:07+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/#webpage"},"isPartOf":{"@id":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/#webpage"},"articleSection":"Grails, automatic update in grails, discard usage, read usage, refresh usage"},{"@type":"BreadcrumbList","@id":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog#listItem","position":1,"name":"Home","item":"https:\/\/tothenewco.pro\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog\/category\/grails\/#listItem","name":"Grails"}},{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog\/category\/grails\/#listItem","position":2,"name":"Grails","item":"https:\/\/tothenewco.pro\/blog\/category\/grails\/","nextItem":{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/#listItem","name":"GORM goodies read, discard, refresh"},"previousItem":{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/#listItem","position":3,"name":"GORM goodies read, discard, refresh","previousItem":{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog\/category\/grails\/#listItem","name":"Grails"}}]},{"@type":"Organization","@id":"https:\/\/tothenewco.pro\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/tothenewco.pro\/blog\/"},{"@type":"Person","@id":"https:\/\/tothenewco.pro\/blog\/author\/uday\/#author","url":"https:\/\/tothenewco.pro\/blog\/author\/uday\/","name":"Uday Pratap Singh","image":{"@type":"ImageObject","@id":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/#authorImage","url":"https:\/\/newersworld-sf-static.tothenew.net\/prod\/profilePicFolder\/d4c98503-ff55-4112-8fc2-e3c4fcc6fc3a_282-Uday-Pratap-Singh-PROFILEPICTURE.jpeg","width":96,"height":96,"caption":"Uday Pratap Singh"}},{"@type":"WebPage","@id":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/#webpage","url":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/","name":"GORM goodies read, discard, refresh | TO THE NEW Blog","description":"Grails docs are the best source to understand how to make best use of GORM methods and now the GORM Gotcha's series By Peter Ledbrook is also making the docs easy to understand. So many time it happens when the domain instance values gets updated without calling save method.It happens because the object is attached","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/tothenewco.pro\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/#breadcrumblist"},"author":{"@id":"https:\/\/tothenewco.pro\/blog\/author\/uday\/#author"},"creator":{"@id":"https:\/\/tothenewco.pro\/blog\/author\/uday\/#author"},"datePublished":"2010-09-07T16:54:58+05:30","dateModified":"2016-12-19T15:06:07+05:30"},{"@type":"WebSite","@id":"https:\/\/tothenewco.pro\/blog\/#website","url":"https:\/\/tothenewco.pro\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/tothenewco.pro\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"GORM goodies read, discard, refresh | TO THE NEW Blog","og:description":"Grails docs are the best source to understand how to make best use of GORM methods and now the GORM Gotcha's series By Peter Ledbrook is also making the docs easy to understand. So many time it happens when the domain instance values gets updated without calling save method.It happens because the object is attached","og:url":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/","og:image":"https:\/\/tothenewco.pro\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/tothenewco.pro\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"GORM goodies read, discard, refresh | TO THE NEW Blog","twitter:description":"Grails docs are the best source to understand how to make best use of GORM methods and now the GORM Gotcha's series By Peter Ledbrook is also making the docs easy to understand. So many time it happens when the domain instance values gets updated without calling save method.It happens because the object is attached","twitter:image":"https:\/\/tothenewco.pro\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"1557","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-30 08:16:01","updated":"2024-02-29 11:00:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/tothenewco.pro\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/tothenewco.pro\/blog\/category\/grails\/\" title=\"Grails\">Grails<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tGORM goodies read, discard, refresh\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/tothenewco.pro\/blog"},{"label":"Grails","link":"https:\/\/tothenewco.pro\/blog\/category\/grails\/"},{"label":"GORM goodies read, discard, refresh","link":"https:\/\/tothenewco.pro\/blog\/gorm-goodies-read-discard-refresh\/"}],"_links":{"self":[{"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/posts\/1557","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/comments?post=1557"}],"version-history":[{"count":0,"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/posts\/1557\/revisions"}],"wp:attachment":[{"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/media?parent=1557"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/categories?post=1557"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/tags?post=1557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}