2014-11-06 50 views
3

你好任何一個建議我,何時使用合併()而不是保存()Grails何時使用merge()而不是save()?

我喜歡當我保存域與保存()方法它的正常工作在某些情況下,但在某些情況下,它是創造"org.hibernate.LazyInitializationException"爲我破例了一些問題。

我可以使用直接合併()方法來保存域實例,而不是保存()

回答

3

你可以看到,無論merge()save()方法調用save()方法在內部,不同的是他們的行爲,即如果存儲對象在HTTP會話,以後要訪問,但該對象已經失去了持續的背景下,合併( )方法將分離的對象的狀態合併回當前的Hibernate會話中。但是如果您在分離的對象上調用save()方法,您將面臨性能異常(org.hibernate.LazyInitializationException),正如您所提到的那樣。 欲瞭解更多信息documentation

相關問題