当前位置: 首页 > 面试题库 >

HibernateTemplate可以与EntityManager共存吗?

池阳伯
2023-03-14
问题内容

我们有一个spring 3应用程序,该应用程序仍然使用不推荐使用HibernateTemplate的持久性,并且想要迁移到更现代的JPA
EntityManager

是否可以在迁移过程中同时使用两个API(可能甚至在一个事务中同时使用两个API),以便我们可以分步进行迁移?

还是我们必须大爆炸?


问题答案:

当然可以,为什么不呢。

最简单的方法是删除LocalSessionFactoryBeanHibernateTransactionManager配置,LocalContainerEntityManagerFactoryBeanJpaTransactionManager分别用和替换它。

然后,以获得SessionFactory附加的HibernateJpaSessionFactoryBean,它公开的基本SessionFactoryEntityManagerFactory

这样,两种技术应该和平共处。

有报道说这样做会导致异常No CurrentSessionContext configured!。如果得到它,请将以下内容添加到您的persistence.xml

<property name="hibernate.current_session_context_class" value="org.springframework.orm.hibernate4.SpringSessionContext"/>

jpaPropertiesLocalContainerEntityManagerFactoryBean

<property name="jpaProperties">
    <props>
        <prop name="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>
    <props>
<property>


 类似资料:
  • 问题内容: 我使用Apache 来 发布 多个文件服务器。这是代码: 问题是,类仅具有方法(始终返回false),如果我希望为我的多部分实体启用已阻止的编码,则没有“ setChunked(boolean)”选项。 我的问题是: HTTP多部分和块可以根据协议规范共存吗?如果不是,为什么其他类(如class)在哪里没有呢? 有没有什么方法可以启用分块功能一次发布多个文件,最好是使用apache库?

  • 我的应用程序使用log4j,但OkHttpClient使用java util日志记录。因此,除了log4j.properties之外,我创建了一个包含以下内容的logging.properties文件: 然后,我将此添加到用于启动应用程序的jvm参数中 但我没有看到任何新的文件夹被创建,如FileHandler所指示的。有人知道为什么吗?

  • 问题内容: 也许有人可以解释使用哪个?什么时候,为什么? 问题答案: HibernateTemplate的Javadoc说: 注意:从Hibernate 3.0.1开始,事务性Hibernate访问代码也可以采用普通的Hibernate样式进行编码。因此,对于新启动的项目,请考虑采用基于SessionFactory.getCurrentSession()的标准Hibernate3样式编码数据访问对

  • 我正在尝试设置一个Spark流代码,该代码从Kafka服务器读取行,但使用另一个本地文件中编写的规则来处理它。我正在为流式数据创建StreingContext,并为其他应用所有其他火花功能的人创建sparkContext——例如字符串操作、读取本地文件等 但这会引发以下错误

  • 我正在做一个遗留的Android项目,它使用一个非常旧的Jackson lib版本来解析从我们的web API带来的JSON。 我目前正在为该项目的一个新功能,并希望使用改型与Gson库作为其JSON解析器,因为这两个库提供了更多的灵活性和更干净的代码,如果与我们以前的库选择相比。 问题是,我将需要一些遗留POJO,那些已经有杰克逊注释。将Gson和Jackson注释放在同一个类中会产生冲突吗?或

  • 问题内容: 我在一个具有不同进程的应用程序上工作,并被要求包含那些进程以实现更多隔离。 问题在于,进程与单个“管理程序”进程共享内存以便交换数据(它们使用经典的共享缓冲区)。该解决方案是为满足性能要求而实施的,因为它在用户空间中运行,因此在用户空间和内核空间之间没有内容切换。 如果我没看错,则不可能在单个IPC名称空间内运行多个docker容器,但是我不知道单个docker容器是否可能属于不同的I