hibernate多数据库 的2个表做关联 怎么做
我关联后执行 好像报错是 数据库1 的sessionFactory 对 数据库2 没作用
报错
%%%% Error Creating miap2 SessionFactory %%%%
org.hibernate.MappingException: Association references unmapped class:  在线等 谢谢

解决方案 »

  1.   

    java程序员群 4247660 欢迎大家的加入
      

  2.   

    java群 4247660 欢迎大家的加入
      

  3.   

    库关联只从你数据库上做文章,HIBERNATE应该是不能跨库连接
      

  4.   

    可以用addFile方法直接指定映射文件。例如:
    Configuration configurate = new Configuration().addClass(“Book.class”);Configuration configurate = new Configuration().addURL(Configuration.class.getResource ("/Book.hbm.xml"));Configuration config = new Configuration().addFile("/Cat.hbm.xml");
    这样,如果用xml配置来配置多个数据库的话,那就写多个配置文件。这里假设对应两个数据库(一个是MySQL,一个是SQLServer),我们可以把其xml文件定义为“mysql.cfg.xml”和“sqlserver.cfg.xml”。则用Configuration类获取SessionFactory的代码如下: SessionFactory mysqlFactory = new Configuration().configure("/mysql.cfg.xml").buildSessionFactory(); SessionFactory sqlserverFactory = new Configuration().configure("sqlserver.cfg.xml ").buildSessionFactory();
      

  5.   

    楼上误解了 不是链接问题 没个数据库 链接指定一个sessionFactory 就是这样做的
    但我是关联两个数据库的表
      

  6.   

    崩溃了  我要做的就是 如下: 不知道大家有没什么好的办法
    数据量比较大
    (其实在这个执行前 我还的在数据库3中的 C表中查询 一个数据库 交给 关联做条件 ,这个数据也就是 数据库1 表A 字段b的 某一个数据)
    表 A  (数据库1) 
      字段a 字段b  ()
       11    x
       22    x
       33    n
    表B (数据库2) 
      字段a 
        11
        22
        44
    统计表B中  属于 A表 字段b 的个数 
      

  7.   

    配2个sessionFactory,2个事务
    调用不同数据库用不同事务2库有关联的表,最好同步到一个数据库中,或者建数据通道,像oracle可以用datalink或物化视图
      

  8.   

    操作两个数据库,如果都进行相应的数据库事务操作,那就是分布式事务,需要用JtaTransactionManager 来配置这个需要支持分布式的服务器或者容器,比如jboss,来配置横跨多个Hibernate SessionFacotry的分布式事务