使用GORM的Spring Boot提供了LazyInitializationException

时间:2014-07-17 09:22:33

标签: hibernate grails gorm spring-boot

我已经使用Spring.io的教程Accessing Data with GORM尝试将Spring-Boot与 GORM 结合使用。

基础知识运作良好,我印象深刻: - )

我正在进一步尝试加载一个懒惰的子集合的Spring控制器。

示例:

def customer = Customer.get(id)
if (customer) {
    def invoices = customer.invoices // lazy hasMany
    return new ResponseEntity(invoices, HttpStatus.OK)
} else {
    return new ResponseEntity(HttpStatus.NOT_FOUND)
}

这给出了可怕的Hibernate延迟加载异常:

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: my.com.Customer.invoices, could not initialize proxy - no Session

在标准的Spring应用程序中,我可以通过注册OpenSessionInViewFilter来解决这个问题。

不应该自动弹簧启动autoconfigure吗?

也许我的设置不正确?

我基本上只添加了以下依赖项:

compile("org.grails:gorm-hibernate4-spring-boot:1.1.0.RELEASE")
compile("org.springframework.boot:spring-boot-starter-actuator")
compile("org.springframework.boot:spring-boot-starter-web")  

0 个答案:

没有答案