在不同的DB中的两个表的关系有问题,ActiveJDBC是如何工作的?

问题描述 投票:0回答:1

我有这个问题。

TABLE_1 -> db A

TABLE_2 -> DB B。

领域 TABLE_1:

  • id_PK,
  • id_table_2_FK。
  • 描述

领域 TABLE_2:

  • id_PK
  • 描述

关系:TABLE_1属于TABLE_2 foreignKeyName id_table_2_FK。

案例1:

  1. 第1步:开始申请
  2. 第2步:我试着从TABLE_2中查询find,结果成功了。
  3. 第3步:我试着从TABLE_1中查询find,结果成功了。

案例2:

  1. 第1步:开始申请
  2. 第二步:我试着从TABLE_1中查询,结果出现了异常。

    java.lang.NullPointerException

        at org.javalite.activejdbc.Registry.processOverridesBelongsTo(Registry.java:393)
        at org.javalite.activejdbc.Registry.processOverrides(Registry.java:283)
        at org.javalite.activejdbc.Registry.init(Registry.java:138)
        ... 127 more
    

而当设置关于activejdbc的LOG属性时,按照这个来。

java.lang.NoClassDefFoundError: Could not initialize class org.javalite.activejdbc.Registry
    at org.javalite.activejdbc.ModelDelegate.metaModelOf(ModelDelegate.java:279) 
  1. 第三步:我试着从TABLE_2中查询,结果成功了。
  2. 第4步:我试着从TABLE_1中查询find,结果成功了。

从CASE 2中可以看出,在第2步中,查询不成功,但在第4步中全部成功,这是怎么回事?

谢谢大家...


更新一下。

我看到 org.javalite.activejdbc.注册表在CASE 2中,没有正确配置TABLE_1(table1Model)和TABLE_2(table2Model)的关系;但是,正如你在CASE 1中看到的,如果我先调用db A(table1Model),然后调用db B(table2Model),Registry.class正确配置了两个不同模型的关系。

我在我的spring boot应用程序中配置了ApplicationFilter,它覆盖了init,doFilter和destroy方法;有人知道是否可以配置Registry.class,与db A和B的关系,在我的spring boot应用程序中。启动 方法?

foreign-keys relationship primary-key activejdbc javalite
1个回答
1
投票

JavaLite ActiveJDBC不是为了管理不同模式的关系而设计的。如果你在这种模式下有什么工作,那纯属巧合。

为了完全理解你的问题,我们将需要。

  • 表的DDL
  • 管理数据库连接的代码。
  • 模型源码(不一定要全部,只看名字和其他配置)

有关访问多个数据库的信息,请参考。https:/javalite.iodatabase_connection_management#multiple-database-example。

© www.soinside.com 2019 - 2024. All rights reserved.