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

JTASessionContext与JDBCTransactionFactory一起使用;自动刷新将无法通过getCurrentSession()正确运行

柳羽
2023-03-14
问题内容

在应用程序中使用hibernate模式,每次执行事务时,都会收到此警告。它在滥发我的日志。

JTASessionContext being used with JDBCTransactionFactory; auto-flush will not operate correctly with getCurrentSession()

我认为这是hibernate.current_session_context_class财产造成的。

<hibernate-configuration>
<session-factory>
    <property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
    <property name="hibernate.connection.pool_size">5</property>
    <property name="show_sql">false</property>
    <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
    <property name="hibernate.current_session_context_class">jta</property>

    <mapping class="foo.bar.Class1" />
    <mapping class="foo.bar.Class2" />
    <mapping class="foo.bar.Class3" />
    <mapping class="foo.bar.Class4" />
    <mapping class="foo.bar.Class5" />
</session-factory>

我应该担心吗?如果没有,我该如何阻止警告出现。


问题答案:

据我所知,除非您提供persistence.xml以便将数据源配置为JTA,否则无法使用Spring来配置具有JTA支持的Hibernate
JPA。也许这样的事情可以帮助您摆脱警告:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    <persistence-unit name="something" transaction-type="JTA">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>blah blah</jta-data-source>
        <properties>
            <property name="hibernate.archive.autodetection" value="class"/>
            <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
            <property name="hibernate.hbm2ddl.auto" value="update"/>
            <property name="hibernate.current_session_context_class" value="jta"/>
            <property name="hibernate.transaction.manager_lookup_class" value="blah blah"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>          
            <property name="hibernate.connection.release_mode" value="after_statement"/>
        </properties>
    </persistence-unit>
</persistence>

我还建议您禁用 allowLocalTransactions, 以便您的代码 始终 以事务性方式运行。



 类似资料:
  • 问题内容: 在应用程序中使用休眠模式,每次执行事务时,都会收到此警告。它在滥发我的日志。 我认为这是财产造成的。 我应该担心吗?如果没有,我该如何阻止警告出现。 问题答案: 据我所知,除非您提供persistence.xml以便将数据源配置为JTA,否则无法使用Spring来配置具有JTA支持的Hibernate JPA。也许这样的事情可以帮助您摆脱警告: 我还建议您禁用 allowLocalTr

  • 我们使用Azure存储队列作为传输在Azure辅助角色中运行NServiceBus 4.6。 我们很乐意使用默认的Azure表存储持久器存储NServiceBus相关数据(sagas、订阅等)。 不过,我们希望将业务实体存储在RavenDB中,以利用查询和Raven的其他功能。 鉴于Azure缺乏事务支持,在我们的处理程序中配置NServiceBus和使用Raven的/的最佳方式是什么。我们希望确

  • 问题内容: 我无法让spring-data-elasticsearch适用于Elasticsearch 2.0+版本。 关于使用以下POM 并添加自定义的ElasticsearchConfiguration 在 Application.java* 下面 * 在有效的POM中,我仍然收到elasticsearch 1.5.2(以及附加的2.0.1.RELEASE版本)作为依赖项。 在运行应用程序时收

  • 我有一个明确的模块化项目,它依赖于一个自动模块;e、 g.关于java。激活。仍然可以使用jlink吗? 查看此模块信息。爪哇: 然后jlink不能添加模块: 根据我的理解,一个自动模块无论如何都会包含整个类路径。所以我想用jlink创建运行时映像没有任何好处? 另请参阅:什么是自动模块? 有没有可能绕过这个问题?也许为这些依赖生成module-info.java?

  • 我目前正在将IntelliJ IDE用于复杂的GWT项目。我想在GWT的开发模式中利用JRebel,所以最近我为IntelliJ安装了JRebel插件,但在使其工作时遇到了麻烦。 基本上IntelliJ不具备在更改时自动编译应用程序的能力,所以每当您对代码进行更改时,我都必须进行编译- 信息:使用JavaC1.7.0_21编译java源代码信息:15个错误信息:0个警告信息:编译完成,9分钟5秒内

  • 我最近安装了Xcode8测试版5。在我的MAC 10.11.6上的Appium 1.6.0测试版现在,在阅读了所有的论坛并使Appium启动并启动我的应用程序后,我无法找到如何用这个Appium 1.6.0测试版启动我的inspector和在我的应用程序中找到元素。如何使用appium 1.6.0测试版启动inspector?如果不能,我们如何找到xpath或找到元素??