2010-11-09 48 views
0

例如,我有一個類映射到第一個數據庫中的表,第二個類映射到第二個數據庫中的表。 我想在一個應用程序中同時使用它們。 我在調度員servlet.xml中如何在Spring MVC和Hibernate中使用多個數據庫?

<bean id="dataSource" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="driverClassName" value="${database.driver}" /> 
     <property name="url" value="${database.url}" /> 
     <property name="username" value="${database.user}" /> 
     <property name="password" value="${database.password}" /> 
    </bean> 

    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="annotatedClasses"> 
      <list> 
       <value>com.example.model.Article</value> 
      </list> 
     </property> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">${hibernate.dialect}</prop> 
       <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>    
      </props> 
     </property> 
    </bean> 

定義數據源的bean,這裏是我的映射類

import java.util.Date; 

import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.Id; 
import javax.persistence.Table; 

@Entity 
@Table(name = "article") 
public class Article { 

    @Id 
    @GeneratedValue 
    @Column(name = "article_id") 
    private Long articleId; 

    @Column(name = "article_name", nullable = false, length=20) 
    private String articleName; 

    @Column(name = "article_desc", nullable = false) 
    private String articleDesc; 

    @Column(name = "date_added") 
    private Date addedDate; 

    public Article() {  
    } 

    public Long getArticleId() { 
     return articleId; 
    } 

    public void setArticleId(Long articleId) { 
     this.articleId = articleId; 
    } 

    public String getArticleName() { 
     return articleName; 
    } 

    public void setArticleName(String articleName) { 
     this.articleName = articleName; 
    } 

    public String getArticleDesc() { 
     return articleDesc; 
    } 

    public void setArticleDesc(String articleDesc) { 
     this.articleDesc = articleDesc; 
    } 

    public Date getAddedDate() { 
     return addedDate; 
    } 

    public void setAddedDate(Date addedDate) { 
     this.addedDate = addedDate; 
    } 
} 

我該如何映射這個類的第一個數據庫和第二類的第二? 非常感謝您的回覆!

回答

4

您將不得不定義兩個數據源和兩個會話工廠。一個會話工廠擁有一個數據源的引用。

相關問題