Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有Hibernate Jpa的Spring数据未在Weblogic上提交_Spring_Hibernate_Jpa_Spring Data Jpa_Weblogic12c - Fatal编程技术网

带有Hibernate Jpa的Spring数据未在Weblogic上提交

带有Hibernate Jpa的Spring数据未在Weblogic上提交,spring,hibernate,jpa,spring-data-jpa,weblogic12c,Spring,Hibernate,Jpa,Spring Data Jpa,Weblogic12c,我可以在glassfish上使用此配置,但在Weblogic 12c上无法使用/提交 我没有任何异常,但它不会提交数据库上的更改 是否有人有工作配置 我的Pom依赖项如下: <dependency> <groupId>weblogic</groupId> <artifactId>ojdbc6</artifactId> <version>10.3.1</versio

我可以在glassfish上使用此配置,但在Weblogic 12c上无法使用/提交

我没有任何异常,但它不会提交数据库上的更改

是否有人有工作配置

我的Pom依赖项如下:

    <dependency>
        <groupId>weblogic</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>10.3.1</version>
    </dependency>

    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.3</version>
    </dependency>

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.2</version>
    </dependency>

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.2</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-library</artifactId>
        <version>1.3</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.3.7.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>4.3.0.RELEASE</version>
        <scope>test</scope>
        <type>jar</type>
    </dependency>

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-oracle</artifactId>
        <version>1.2.1.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>4.3.7.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>javax.ejb</groupId>
        <artifactId>ejb-api</artifactId>
        <version>3.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>1.11.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>4.3.7.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.3.11.Final</version>
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>4.3.11.Final</version>
    </dependency>

    <dependency>
        <groupId>com.querydsl</groupId>
        <artifactId>querydsl-core</artifactId>
        <version>4.1.4</version>
    </dependency>
    <dependency>
        <groupId>com.querydsl</groupId>
        <artifactId>querydsl-jpa</artifactId>
        <version>4.1.4</version>
    </dependency>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0</version>
        <scope>provided</scope>
    </dependency>

应用服务器
ojdbc6
10.3.1
公地郎
公地郎
2.3
org.apache.logging.log4j
log4japi
2.2
org.apache.logging.log4j
log4j型芯
2.2
朱尼特
朱尼特
4.12
测试
org.hamcrest
汉克雷斯特岩芯
org.hamcrest
汉克雷斯特图书馆
1.3
测试
org.springframework
spring上下文
4.3.7.1发布
org.springframework
弹簧试验
4.3.0.1发布
测试
罐子
org.springframework.data
spring数据甲骨文
1.2.1.发布
org.springframework
德克萨斯州春季
4.3.7.1发布
javax.ejb
EJBAPI
3
假如
org.springframework.data
spring数据jpa
1.11.1.发布
org.springframework
春季甲虫
4.3.7.1发布
org.hibernate
冬眠核心
4.3.11.4最终版本
org.hibernate
休眠实体管理器
4.3.11.4最终版本
com.querydsl
querydsl型芯
4.1.4
com.querydsl
querydsl jpa
4.1.4
爪哇
JavaEEAPI
7
假如
我的spring配置文件如下所示:

<beans>

<context:component-scan base-package="com.ericsson.noc"/>
<context:annotation-config />

<jpa:repositories base-package="com.ericsson.noc" />   

<jee:jndi-lookup id="dataSource" jndi-name="jdbc.ds"
        expected-type="javax.sql.DataSource" /> 


<bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    <property name="showSql" value="true" />
    <property name="generateDdl" value="false" />
    <property name="database" value="ORACLE" />
    <property name="prepareConnection" value="false" /> 
</bean>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

    <property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
    <property name="persistenceUnitName" value="oracle" />
    <!-- spring based scanning for entity classes -->
    <property name="packagesToScan" value="com.ericsson.noc" />
    <property name="persistenceXmlLocation" value="classpath:META-INF/jpa-persistence.xml" />
</bean>

<tx:jta-transaction-manager/>
<tx:annotation-driven/>

   <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>

</beans>

My persistence.xml callend jpa-persistence.xml如下所示:

<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence              http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="oracle" transaction-type="JTA">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>jdbc.ds</jta-data-source> 
<class>xxx.yyy.Entity</class>
<exclude-unlisted-classes/>
<properties>
  <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
  <property name="hibernate.show_sql" value="true"/>
  <property name="hibernate.hbm2ddl.auto" value="validate"/>
  <property name="hibernate.ejb.naming_strategy" value="org.hibernate.cfg.ImprovedNamingStrategy" />
  <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/>
  <property name="hibernate.transaction.auto_close_session" value="true"/>  
  <property name="hibernate.transaction.factory_class"  value="jta"/>   
  <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.WeblogicJtaPlatform"/>
</properties>
</persistence-unit>
</persistence>

org.hibernate.jpa.HibernatePersistenceProvider
jdbc.ds
xxx.yyy.Entity

也许我遗漏了什么,但我看不出您在哪里配置TransactionManager供Spring使用。所以一个想法是,可能Spring和Hibernate使用不同的TransactionManager,因此Spring提交事务对Hibernate没有影响

因此,要做的事情是:

  • 在Spring配置中包括一个
    平台TransactionManager
    ,看看这是否解决了问题
  • 如果未检查
    ApplicationContext
    和Hibernate,查看它们是否引用相同的
    TransactionManager

另请参见:

添加执行保存的代码/update@Transactionalpublic void saveRole(字符串缩写,字符串描述)抛出业务异常{AmmRole AmmRole=new AmmRole();AmmRole.set缩写(缩写);AmmRole.setDescription(描述);AmmRole.setSysRole(“N”);ammRole=ammrolepository.save(ammRole);}其中ammrolepository是spring数据存储库,事务类型为org.springframework.transaction.annotation.TransactionalHi,定义了jta事务管理器。。我修复了这个问题,但它在hibernate端的配置有误。。春天的部分还可以…我知道是老帖子…但是你记得有什么变化吗?你知道这是什么样的误解吗?我也有同样的症状,我想知道该看什么。谢谢