Grails何时使用merge()而不是save()?

Piy*_*ari 6 grails hibernate java-ee

你好任何人建议我什么时候使用merge()而不是save()

我有一些问题,比如当我使用save()方法保存域时,它在某些情况下工作正常但在某些情况下它会"org.hibernate.LazyInitializationException"为我创建异常.

我可以使用直接merge()方法来保存域实例而不是save()吗?

Abs*_*Abs 5

您可以在内部看到两者merge()save()方法调用save()方法,区别在于它们的行为,即如果您将对象存储在HTTP会话中以后想要访问但是此对象已丢失其持久上下文,则merge()方法合并为分离对象的状态回到当前的Hibernate会话.但是如果你在分离对象上调用了save()方法,你将面临一个性感的异常(org.hibernate.LazyInitializationException).有关更多信息文档.