डिफ़ॉल्ट रूप से हाइबरनेट और MySQL के लिए लेन-देन प्रबंधक में सेव पॉइंट सक्षम नहीं होते हैं।
BootStrap.groovy में निम्नलिखित जोड़ें:
transactionManager.setNestedTransactionAllowed(true)
फिर एक लेन-देन में आप निम्न कार्य कर सकते हैं:
Thing.withTransaction { status ->
//Do some work and a save
def savePoint = status.createSavepoint()
//do other work
if(checkOk)
{
//Everything worked so don't need the save point anymore
status.releaseSavepoint(savePoint)
}
else
{
//The other work did not work so rollback from it.
status.rollbackToSavepoint(savePoint)
}
}