开发者社区> 问答> 正文

jpa 集成Spring出错了,不知道哪个地方出错了,请大侠们明示或暗示... 400 请求报错 

beans.xml

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

<context:component-scan base-package="cn.cake" />
<context:property-placeholder location="classpath:jdbc.properties"/>
	
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
	<property name="driverClassName" value="${jdbc.driverClassName}"/>
	<property name="url" value="${jdbc.url}"/>
	<property name="username" value="${jdbc.username}"/>
	<property name="password" value="${jdbc.password}"/>
</bean>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" >
	<property name="dataSource" ref="dataSource"/>
	<property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml"/>
	
</bean>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
	<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

<tx:annotation-driven transaction-manager="transactionManager"/>

</beans>

persistence.xml
<persistence 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"
		version="1.0">

	<persistence-unit name="wgzh" transaction-type="RESOURCE_LOCAL">
	<provider>org.hibernate.ejb.HibernatePersistence</provider>
	<properties>
		<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
		<property name="hibernate.hbm2ddl.auto" value="update"/>
		<!-- 
		<property name="hibernate.connection.url" value="jdbc:mysql://127.0.0.1:3306/cake?characterEncoding=utf8"/>
		<property name="hibernate.connection.driver_class" value="org.gjt.mm.mysql.Driver"/>
		<property name="hibernate.connection.username" value="root"/>
		<property name="hibernate.connection.password" value="123456"/>
		 -->
	</properties>
	</persistence-unit>

</persistence>
运行出错地方:

展开
收起
kun坤 2020-05-29 23:15:25 503 0
1 条回答
写回答
取消 提交回答
  • 图看不清楚,双击下,看大图,不胜感激...######我不是很确信 你的错误信息第一行貌似也不全 我觉得dataSource的class应该是spring提供的 而不是apache common的 你可以google <spring hibernate jpa sample> 应该能找到例子 额外的建议 1. 不要用JPA1.0 至少从JPA2.0开始 2. 不要用RESOURCE_LOCAL的Transaction,用JTA的模式,取决于你的环境你可能需要导入Geronimo的一些库    但是Managed环境下要方便的多,我个人认为是值得的 3. 考虑用OpenJPA代替Hibernate,Hibernate最初不是为了JPA规范的,遗留问题太多。    我从来没能够完全使用JPA接口而不引入Hibernate的依赖性,更令我反感的是Hibernate从来不解释这些莫名其妙设计的原因。 ######

    引用来自#3楼“浪客Dandy”的帖子

    我不是很确信 你的错误信息第一行貌似也不全 我觉得dataSource的class应该是spring提供的 而不是apache common的 你可以google <spring hibernate jpa sample> 应该能找到例子 额外的建议
    1. 不要用JPA1.0 至少从JPA2.0开始
    2. 不要用RESOURCE_LOCAL的Transaction,用JTA的模式,取决于你的环境你可能需要导入Geronimo的一些库    但是Managed环境下要方便的多,我个人认为是值得的 3. 考虑用OpenJPA代替Hibernate,Hibernate最初不是为了JPA规范的,遗留问题太多。    我从来没能够完全使用JPA接口而不引入Hibernate的依赖性,更令我反感的是Hibernate从来不解释这些莫名其妙设计的原因。

    谢谢楼上的建议...######<?xml version="1.0" encoding="UTF-8"?> <persistence 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" version="1.0">     <!-- 持久化单元名称配置 -->     <persistence-unit name="kugou" transaction-type="RESOURCE_LOCAL">     <!-- 指定用的是hibernate的驱动 -->     <provider>org.hibernate.ejb.HibernatePersistence</provider>             <properties>             <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />             <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />             <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/kugou?useUnicode=true&characterEncoding=UTF-8" />             <property name="hibernate.connection.username" value="root" />             <property name="hibernate.connection.password" value="336393" />             <property name="hibernate.hbm2ddl.auto" value="update"/>             <property name="hibernate.show_sql" value="false"/>             <property name="hibernate.max_fetch_depth" value="3"/>          <property name="hibernate.jdbc.fetch_size" value="18"/>          <property name="hibernate.jdbc.batch_size" value="10"/>          <property name="hibernate.format_sql" value="false"/>         </properties>     </persistence-unit> </persistence>


    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"  xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"  xsi:schemaLocation="http://www.springframework.org/schema/beans  
               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
               http://www.springframework.org/schema/context  
               http://www.springframework.org/schema/context/spring-context-2.5.xsd  
               http://www.springframework.org/schema/aop  
               http://www.springframework.org/schema/aop/spring-aop-2.5.xsd  
               http://www.springframework.org/schema/tx  
               http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">      <!-- 注解解析器
     <aop:aspectj-autoproxy/>  -->  <!-- 打开自动扫描 -->  <context:component-scan base-package="cn.kugou" />  <!-- 集成JPA -->  <bean id="entityManagerFactory"   class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">   <property name="persistenceUnitName" value="kugou"></property>  </bean>  <!-- 集成Spring事务管理器 -->  <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">   <property name="entityManagerFactory" ref="entityManagerFactory" />  </bean>  <!-- 声明利用注解来配置事务 -->  <tx:annotation-driven transaction-manager="transactionManager" />   </beans>


    我们不愧是有感情的人,而且个人感情还很浓,这样不好。一个优秀的框架,会用和用好是两码事。

    2020-05-29 23:15:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
The Reactive Cloud Native Arch 立即下载
集成智能接入网关APP:优化企业级移动办公网络 立即下载
云效助力企业集成安全到DevOps中 立即下载