最近因项目原因需要把 保存本地数据库的同时保存到其他数据库中, 这里就需要用到多数据源的技术。下面贴上各个配置文件的代码。

persistence.xml

            

	
	
	 
	


applicationContext.xml 

                    

   
    
        
        
        
        
        
        
    
    
    
    
        
        
        
        
            
        
        
            
             
                
                
                
                
                
            
        
        
            
                com.fpi.safety.common.entity.po
            
        
        
            
                  
                
                
                
                
             
        
    
    
    
    
        
    
    
      
    
    
    
    
    	
        
        
        
        
        
    
    
    
        
        
        
        
            
                
                
            
        
        
            
                  
                
                
                
                
            
        
    
    
 
    
        
        
    
     

serviceImpl.java 

    

	public EntityManager entityManager;
	 
	 private EntityManagerFactory emf;
	 
	 /**
	 * @Title:setEntityManagerFactory
	 * @Description:远程数据库实体管理工厂
	 * @param emf
	 */
	 @Transactional(value="remoteUnit")
	 @PersistenceUnit(unitName="remoteUnit")
	 public void setEntityManagerFactory(EntityManagerFactory emf) {
		 this.emf = emf;
		 this.entityManager = emf.createEntityManager();
	 }
	
	
	/*远程数据库保存操作*/
	@Override
	public DevFactor remoteSaveOrUpdate(DevFactor devFactor) {
		entityManager.getTransaction().begin();
		entityManager.merge(devFactor);
		entityManager.getTransaction().commit();
		return devFactor;
	}