从位于不同数据库中且通过主键和外键具有关系的两个不同表中复制数据 我在mysql数据库中使用了两个数据库,比如说DB1和DB2我分别在.cfg.xml文件中配置了这两个数据库,现在来自DB1的一些表链接到DB2中的表,例如DB1.Branch.Branchid是主键引用外键DB2.OfficeAddress.Branchidf在HQL查询中,我想使用DB@.Lesseemaster.Branchid要执行查询,sessionfactory需要使用哪个数据库?完全搞糊涂了,我没有得到任何参考,我们可以映射Hibernate中位于不同数据库中的相关表中的数据吗。

从位于不同数据库中且通过主键和外键具有关系的两个不同表中复制数据 我在mysql数据库中使用了两个数据库,比如说DB1和DB2我分别在.cfg.xml文件中配置了这两个数据库,现在来自DB1的一些表链接到DB2中的表,例如DB1.Branch.Branchid是主键引用外键DB2.OfficeAddress.Branchidf在HQL查询中,我想使用DB@.Lesseemaster.Branchid要执行查询,sessionfactory需要使用哪个数据库?完全搞糊涂了,我没有得到任何参考,我们可以映射Hibernate中位于不同数据库中的相关表中的数据吗。,hibernate,sessionfactory,Hibernate,Sessionfactory,hibernate.cgf.xml 包装拉刀 @Entity @Table(name = "lessee_master") public class LesseeDAO { @Id @GeneratedValue @Column(name = "id") private int lesseeId; @Column(name = "Name") private String LesseeName; @Column(name ="Add

hibernate.cgf.xml

包装拉刀

@Entity
@Table(name = "lessee_master")
public class LesseeDAO {

    @Id
    @GeneratedValue
    @Column(name = "id")
    private int lesseeId;

    @Column(name = "Name")
    private String LesseeName;

    @Column(name ="Address")
    private String LesseeAddress;

    @Column(name = "ContactNumber")
    private String LesseeNumber;

    @Column(name ="EmailID" )
    private String LesseeEmail;

    @OneToOne(fetch = FetchType.EAGER  )
    @JoinColumn(name = "BranchId")
    private BranchDAO branch;

}

您可以在db2db1中创建一个引用表的dbLink,然后在db2vw中创建一个查询这个dbLink的视图。现在,您可以在主表DB1和hibernate中新创建的视图VW之间创建任何类型的关系。非常感谢Avis..现在工作正常:)
    <hibernate-configuration>              
                <session-factory>  
     <property name="dialect">org.hibernate.dialect.MySQLDialect</property>  
                <property name="connection.url">jdbc:mysql://localhost:3306   /leavemanagement</property>  
                <property name="connection.username">root</property>  
                <property name="connection.password"></property>  
                <property name="connection.driver_class">com.mysql.jdbc.Driver</property>  
                <property name="show_sql">true</property>
                <property name="format_sql">true</property>  
                <property name="current_session_context_class">thread</property>

                <mapping class="LA_DAO.BranchDAO"/>             

             </session-factory>
   </hibernate-configuration>
    package LA_DAO;  
    @Entity
@Table(name = "branchmaster" )
public class BranchDAO {

    @Id
    @GeneratedValue
    @Column(name = "branch_id")
    private int id;

    @Column(name = "branch_type_code")
    private int br_main_id;

    @Column(name = "branch_name")
    private String branchName;

    @Column(name = "branch_code")
    private String branchCode;

//getters n setters
}
@Entity
@Table(name = "lessee_master")
public class LesseeDAO {

    @Id
    @GeneratedValue
    @Column(name = "id")
    private int lesseeId;

    @Column(name = "Name")
    private String LesseeName;

    @Column(name ="Address")
    private String LesseeAddress;

    @Column(name = "ContactNumber")
    private String LesseeNumber;

    @Column(name ="EmailID" )
    private String LesseeEmail;

    @OneToOne(fetch = FetchType.EAGER  )
    @JoinColumn(name = "BranchId")
    private BranchDAO branch;

}