spring - Spring 数据的延迟加载

标签 spring hibernate spring-mvc jpa spring-data

我正在使用Spring data,它很容易使用,但我无法控制它,因为我在那里遇到错误

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: entity.Qualite.fonctions, could not initialize proxy - no Session

我知道FetchType.EAGER会起作用,但我想保持懒惰。 那么我如何控制 spring data

中的 session
@RequestMapping(value="/loadfonction") 
public @ResponseBody
Set<Fonction> loadfonction(Map<String, Object> model, HttpServletRequest request) { 

    Set<Fonction> fonctions = qualiteRepo.findOne(Integer.valueOf(request.getParameter("idquality"))).getFonctions();

    System.out.println(fonctions.size());

    return fonctions;


}

我什至尝试了 @Transactional 注释,但它不起作用:

@Transactional
@RequestMapping(value="/loadfonction") 

最佳答案

这是尝试使用 spring mvc 框架打开 View 时的常见问题。控制方法会在 View 显示 session 之前关闭 session 。 (试图将 View 排除在业务逻辑之外)要解决这个问题,您可以使用 OpenSessionInViewFilter 类。

这里有一篇关于如何实现它的文章:

http://blog.cloudmate.pl/2010/09/hibernates-open-session-in-view-in.html

关于spring - Spring 数据的延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21295958/

相关文章:

java - 更改 Spring Web 应用程序中的数据库

java - 没有可用的 'ru.spb.repository.UserRepository' 类型的合格 bean : expected at least 1 bean which qualifies as autowire candidate

java - 使用 jQuery,如何将字符串数组作为 http 参数附加到 http 请求?

java - 有没有办法在给定字段名的情况下获取对象中某个字段的值?

STS 中缺少 Spring/Spring bean 配置文件选项

使用 c3p0 和 Tomcat : too many connections hibernate

java - 如何级联插入

java - Hibernate 在单个事务中自动更新

java - 我找不到 Could not resolve view with name 'index' in servlet with name 'DispatcherServlet' 的答案

java - 在 Apache tomcat 中启用 session