2012-11-20 111 views
0

我有2個數據庫。第一個是我們公司ERP的數據庫,第二個是我的應用程序的數據庫。與Spring和JPA(休眠)的遠程實體關係

我需要在我的應用程序中使用來自ERP數據庫的同步客戶表數據。現在我每小時與石英工作同步桌子。通過這種方式,我擁有一個本地客戶表,並且在我的訂單中創建外鍵列沒有問題。

未來,開發新的應用程序,這種戰略將不是一個好的解決方案(假設它現在..)。對於每個應用程序,以這種方式工作,我將有本地副本的客戶表和一個同步過程。

所以我想實現一個遠程支持應用與遠程接口的spring-remoting以獲得顧客。這個遠程應用程序連接到ERP數據庫,我的所有應用程序都會調用遠程服務來獲取數據。

現在我的問題是:

  1. 它可能是一個不錯的方法還是有實現這個 更好的辦法?

  2. 如何在我的訂單中引用客戶實體?根據這一解決方案,我沒有本地客戶表了..我想我可以在域類做:

    @Entity 
    public class Order{ 
    
        .... 
    
        private Integer customerId; 
    
        @Transient 
        private Customer customer; 
    
        ... 
    } 
    

    每次我通過 加載順序對象調用遠程服務時綁定短暫客戶。因此,例如在我的OrderServiceImpl

    @Transactional 
    public Order getOrder(Integer id){ 
        Order order = orderDao.get(id); 
        order.setCustomer(customerRemoteService.getCustomerById(order.getCustomerId())); 
        return order; 
    } 
    

我不知道你能不能給我的意見或更好的解決方案!

非常感謝你!!!!! Marco

回答