java - 将 HibernateCursorItemReader 与 EntitymanagerFactory 结合使用

标签 java spring spring-batch sessionfactory

我正在尝试在 Spring 批处理中使用 HibernateCursorItemReader (出于架构原因,我无法使用 JpaPagingItemReader 因为我不需要分页)。但是,问题是我必须设置 session 工厂,在我的例子中我只有 entityManagerFactory。不幸的是,我必须仅使用 XML 配置来实现此目的。我知道在 Java 代码中我们可以进行这样的转换:

Session session = manager.unwrap(Session.class);
sessionFactory = session.getSessionFactory();

如何在 HibernateCursorItemReader 中设置 sessionFactory 属性?如果我必须从 entityManagerFactory 转换为 SessionFactory?如何直接在 XML 配置中进行设置?

最佳答案

解决办法是使用entityManagerFactory的getSessionFactory方法

    <bean id="hibernateSessionFactory" factory-bean="entityManagerFactory"
    factory-method="getSessionFactory" />

关于java - 将 HibernateCursorItemReader 与 EntitymanagerFactory 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43826000/

相关文章:

java - java中什么时候会使用条件运算符(? :) instead of the if else statement?

java - 如何知道Java中InterruptedException的原因

java - 如何从 spring-dispatcher-servlet.xml 访问 SessionFactory 到 DAO

sql - Spring Batch 事务在提交间隔之外提交

java - 如何从 spring 批处理器 process() 方法向 Spring 批处理作业启动方法抛出异常?

java - 控制已经存在的 ImageJ 实例

java - 类文件不运行

spring - IntelliJ 中未找到应用服务器库

java - 具有大量实体的规范和 XML 解析 -> 内存不足错误

Spring Batch - 当 ItemReader 没有返回数据时如何使作业失败