首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >H2、JPA2、JBoss AS 7和事务

H2、JPA2、JBoss AS 7和事务
EN

Stack Overflow用户
提问于 2012-10-24 18:46:35
回答 1查看 899关注 0票数 1

我有一个测试,当我使用MySQL后端时,它可以完美地运行。

persistence.xml:

代码语言:javascript
复制
<persistence-unit name="pu">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>java:jboss/datasources/mysqlTM</jta-data-source>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
        <property name="hibernate.cache.use_second_level_cache" value="true" />

        <!-- Properties for Hibernate -->
        <property name="hibernate.hbm2ddl.auto" value="create-drop" />
        <property name="hibernate.show_sql" value="true" />
    </properties>
</persistence-unit>

但是,当我切换到H2时,如下所示:

persistence.xml

代码语言:javascript
复制
    <persistence-unit name="pu">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
        <property name="hibernate.cache.use_second_level_cache" value="true" />

        <property name="hibernate.hbm2ddl.auto" value="create-drop" />
        <property name="hibernate.show_sql" value="true" />
    </properties>
</persistence-unit>

使用常规JBoss 7.1安装中定义的标准数据源,我得到以下异常:

代码语言:javascript
复制
Caused by: javax.persistence.TransactionRequiredException: JBAS011469: Transaction is required to perform this operation (either use a transaction or extended persistence context)

谷歌帮不上什么忙。我更喜欢使用H2进行测试,只是为了加快测试过程。

提前感谢你的帮助,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-21 17:30:34

回答问题以便将其关闭。

事实证明,关于事务的错误消息是在转移注意力。该错误是由于MySQL和H2处理查询中区分大小写的方式不同造成的。

将查询更新为区分大小写解决了此问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13047645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档