我已经使用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")