zoukankan      html  css  js  c++  java
  • sping data jpa 如何注入的entitymanager

    public class JpaRepositoryFactoryBean<T extends JpaRepository<S, ID>, S, ID extends Serializable> extends
    		TransactionalRepositoryFactoryBeanSupport<T, S, ID> {
    
    	private EntityManager entityManager;
    
    	/**
    	 * The {@link EntityManager} to be used.
    	 * 
    	 * @param entityManager the entityManager to set
    	 */
    	@PersistenceContext
    	public void setEntityManager(EntityManager entityManager) {
    
    		this.entityManager = entityManager;
    	}
    


    可以看到entityManager是通过PersistenceContext注解获取的。

    2.如果要是希望在spring环境中使用@PersistenceContext和@PersistenceUnit,则在application.xml中配置

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

    特别注意的是 :如果你在application.xml中配置过context:annotation-config" 或者 "context:component-scan tag,则会默认register一个默认的PersistenceAnnotationBeanPostProcessor。所以如果你要是希望自定义PersistenceAnnotationBeanPostProcessor。则Remove or turn off the default annotation configuration,具体怎么操作,正在研究,不好意思

    可以通过这个类指定多个"persistenceUnits"

     <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor">
       <property name="persistenceUnits">
         <map/gt;
           <entry key="unit1" value="persistence/unit1"/>
           <entry key="unit2" value="persistence/unit2"/>
         </map/gt;
       </property>
     </bean>
    

     也可以指定多个persistenceContexts

     <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor">
       <property name="persistenceContexts">
         <map/gt;
           <entry key="unit1" value="persistence/context1"/>
           <entry key="unit2" value="persistence/context2"/>
         </map/gt;
       </property>
     </bean>
    
  • 相关阅读:
    C++ 实现简单快速排序
    LEETCODE 198. House Robber
    leetcode 174
    GIT 版本的回退
    unorderd_map 自定义键值及哈希函数的重载
    互斥锁 形成死锁实例
    leetcode 300
    LeetCode 62
    LeetCode 122
    SVN提交,强制注释
  • 原文地址:https://www.cnblogs.com/beiyeren/p/2870856.html
Copyright © 2011-2022 走看看