Também tenho esta dúvida, qual o sentido de ter o "livroInstance.save flush:true"!
O "flush:true" eh opcional e pode ser aplicado tanto do .save() como no .delete()
Basicamente o que acontece quando esta 'true' eh que a informacao eh persistida IMEDIATAMENTE no banco de dados (ou deletada).. e incrementa a coluna de versionamento (db).
Quando esta 'false' (default), antes da informacao ser efetivamente persistida, ela eh validada e retorna null caso tenha dado alguma zica na validacao ou a instancia persistida se funcionar.
...
Agora eu fiquei na duvida do que realmente voce precisa, Damiana.. Voce nao quer permitir que atualizem os dados?
Exatamente Rafael! Eu tenho uma validação dentro do update, se retornar true, atualiza dos dados, se retornar false, não atualiza. Mas n é isso que está ocorrendo. Mesmo retornando false e exibindo uma mensagem de erro para o usuário, no banco a alteração é efetuada normalmente.
Tem como postar o código para vermos exatamente como está seu método update?
Você ja viu a constraint "validator"? talvez ela possa te ajudar.
Como o Roger disse, o discard() ignora o transaction do GORM, fazendo com que o update no banco seja manual.
Realmente, o que o Roger disse sobre o uso do discard() funcionou muito bem para o que eu queria. Muito obrigada! ˆ_ˆ
Obrigada também Rony! :)