spring - 如何将 StatelessSession 与 Spring Data JPA 和 Hibernate 一起使用?

标签 spring hibernate jpa spring-data-jpa stateless-session

我在 Hibernate 中使用 Spring + Spring Data JPA,我需要执行一些大型且昂贵的数据库操作。

我如何使用 StatelessSession 来执行这些操作?

最佳答案

一种解决方案是实现一个 Spring 工厂 bean 来创建这个 StatelessSession 并将其注入(inject)到您的自定义存储库实现中:

public class MyRepositoryImpl implements MyRepositoryCustom {

    @Autowired
    private StatelessSession statelessSession;

    @Override
    @Transactional
    public void myBatchStatements() {
        Criteria c = statelessSession.createCriteria(User.class);

        ScrollableResults itemCursor = c.scroll();

        while (itemCursor.next()) {
            myUpdate((User) itemCursor.get(0));
        }
        itemCursor.close();

        return true;
    }

}

查看 StatelessSessionFactoryBean 和完整的要点 here .使用 Spring 3.2.2、Spring Data JPA 1.2.0 和 Hibernate 4.1.9。

感谢 JIRA以及附加 StatelessSessionFactoryBean 代码的人。希望这对某人有所帮助,它对我来说就像一种魅力。

关于spring - 如何将 StatelessSession 与 Spring Data JPA 和 Hibernate 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15460601/

相关文章:

java - JPA 存储库应该首选哪个 CDI 范围

java - 将 JPA Spring boot 与 SQL Server 结合使用

java - 在 jBoss 日志中显示/隐藏 SQL 查询

java - 为什么我收到与 JPQL 查询相关的 HibernateException(命名查询中的错误)?

spring - 无法在 spring 工具套件 4.2.1 中创建动态 Web 项目

spring - 重新加载静态内容 Spring Boot 应用程序

java - 有没有办法在遇到异常时强制事务回滚?

java - 共享外键 Hibernate

java - 尝试使用 Mockito 进行监视时出现异常

java - 在 Hibernate 中数据库约束违规不会抛出异常