Spring   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了休眠-如何弹簧注入EntityManager? 大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我遵循指南here,但是当DAO执行时,Entitymanager为null.

我尝试了在指南的注释,各种论坛以及此处(包括this)中找到的许多修复程序,但均无济于事.无论我似乎做什么,Entitymanager都保持为空.

以下是相关文件,其中软件包等已更改,以保护无辜者.

spring-context.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/scheR_103_11845@a/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLscheR_103_11845@a-instance"
        xmlns:tx="http://www.springframework.org/scheR_103_11845@a/tx"
        xmlns:context="http://www.springframework.org/scheR_103_11845@a/context"
        xsi:scheR_103_11845@aLOCATIOn="http://www.springframework.org/scheR_103_11845@a/beans
       http://www.springframework.org/scheR_103_11845@a/beans/spring-beans.xsd
       http://www.springframework.org/scheR_103_11845@a/tx http://www.springframework.org/scheR_103_11845@a/tx/spring-tx.xsd http://www.springframework.org/scheR_103_11845@a/context http://www.springframework.org/scheR_103_11845@a/context/spring-context.xsd"
        xmlns:p="http://www.springframework.org/scheR_103_11845@a/p">

     <context:component-scan base-package="com.group.server"/>
     <context:Annotation-config/>
     <tx:Annotation-driven/>

     <bean id="propertyPlaceholderConfigurer"
           class="com.group.DecrypTingPropertyPlaceholderConfigurer"
           p:systemPropertiesModename="SYstem_PROPERTIES_MODE_OVERRIDE">
         <property name="LOCATIOns">
             <list>
                 <value>classpath*:spring-*.properties</value>
                 <value>classpath*:${application.environment}.properties</value>
             </list>
         </property>
     </bean>

     <bean id="orderDao" class="com.package.service.orderDaoImpl"/>

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

     <bean id="entitymanagerFactory" class="org.springframework.orm.jpa.LocalContainerEntitymanagerfactorybean">
         <property name="persistenceUnitName" value="MyServer"/>
         <property name="loadTimeweaver">
             <bean class="org.springframework.instrument.classloading.instrumentationLoadTimeweaver"/>
         </property>
         <property name="data@R_489_9016@e" ref="data@R_489_9016@e"/>
         <property name="jpaVendorAdapter">
             <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                 <property name="showsql" value="${Com.group.server.vendoradapter.showsql}"/>
                 <property name="generateDdl" value="${Com.group.server.vendoradapter.generateDdl}"/>
                 <property name="database" value="${Com.group.server.vendoradapter.databasE}"/>
             </bean>
         </property>
     </bean>

     <bean id="transactionManager" class="org.springframework.orm.jpa.JpatransactionManager">
         <property name="entitymanagerFactory" ref="entitymanagerFactory"/>
         <property name="data@R_489_9016@e" ref="data@R_489_9016@e"/>
     </bean>

     <bean id="data@R_489_9016@e" class="org.springframework.jdbc.data@R_489_9016@e.DriveRMANagerData@R_489_9016@e">
         <property name="driverClassName" value="${Com.group.server.data@R_489_9016@e.driverClassNamE}"/>
         <property name="url" value="${Com.group.server.data@R_489_9016@e.url}"/>
         <property name="username" value="${Com.group.server.data@R_489_9016@e.usernamE}"/>
         <property name="password" value="${Com.group.server.data@R_489_9016@e.passworD}"/>
     </bean>

     <bean id="executorservice" class="java.util.concurrent.Executors" factory-method="newCachedThreadPool"/>

 </beans>

persistence.xml

<persistence  xmlns="http://java.sun.com/xml/ns/persistence"  version="1.0">
    <persistence-unit name="MyServer" transaction-type="resourcE_LOCAL"/>
</persistence>

OrderDaoImpl

 package com.group.service;

 import com.group.model.order;
 import org.springframework.stereotype.Repository;
 import org.springframework.transaction.Annotation.transactional;

 import javax.persistence.Entitymanager;
 import javax.persistence.PersistenceContext;
 import javax.persistence.Query;
 import java.util.List;

 @Repository
 @transactional
 public class OrderDaoImpl implements OrderDao {

     private Entitymanager entitymanager;

     @PersistenceContext
     public void setEntitymanager(Entitymanager entitymanager) {
         this.entitymanager = entitymanager;
     }

     @Override
     public Order find(Integer id) {
         Order order = entitymanager.find(Order.class,id);
         return order;
     }

     @Override
     public List<Order> findAll() {
         Query query = entitymanager.createQuery("SELEct o from Order o");
         return query.getResultList();
     }

     @Override
     public List<Order> findBySymbol(String symbol) {
         Query query = entitymanager.createQuery("SELEct o from Order o where o.symbol = :symbol");
         return query.setParameter("symbol",symbol).getResultList();
     }
 }
最佳答案
您是否尝试过将unitName =“ MyServer”添加到@PersistenceContext注释中?

大佬总结

以上是大佬教程为你收集整理的休眠-如何弹簧注入EntityManager? 全部内容,希望文章能够帮你解决休眠-如何弹簧注入EntityManager? 所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。