当前位置: 首页 > 面试题库 >

休眠:在同一应用程序中使用两个不同的数据库模式

郏博瀚
2023-03-14
问题内容

语境

我正在创建一个数据库环境,在该环境中,我想以几种不同的模式拆分数据以用于不同的用户组。虽然,由于其中包含公共实体,所以应该将这些数据库之一共享给所有人。

假设数据库:

  • DB1-通用实体;
    • 车轮实体
  • DB2-组“ A”;
    • 汽车实体
  • DB3-组“ B”;
    • 摩托车实体

我有三个不同的项目:

  • 项目1:
    • 车轮豆
  • 专案2:
    • 汽车制造商
  • 专案3:
    • 摩托车构造者

问题

我正在尝试从项目/方案(2,“ A”)和(3,“ B”)访问轮子(Project 1)

第一个问题:可能吗?第二:我该怎么做?

hibernate.cfg.xml 在项目2中配置为

<property name="hibernate.connection.url">jdbc:mysql://99.999.999.99:3306/DB2</property>

这必然必须限制所有与DB2的连接,或者还有另一种添加新连接或与3306端口中的所有数据库或至少与DB1一起使用的方法?

项目2中的 project1映射实体似乎也没有成功,例如:

<mapping class="com.company.project1.Wheels"
        package="com.company.project1.Wheels" resource="com/company/project1/Wheels.hbm.xml"/>

组态

  • 日食靛蓝
  • MySQL 5.5
  • Hibernate 3.0(通过xml而不是注释进行映射)
  • 赢7

感谢您的帮助!


问题答案:

您可以@Table(catalog="")用来指定它们所属的数据库,然后还可以跨数据库建立关系。

您的情况下Wheel,使用商品目录属性映射到DB1,CarDB2和MotorCycleDB3。

我已经将此解决方案与MySQL和MSSQL一起使用,并且工作正常。唯一的限制是,这三个数据库必须位于同一数据库服务器中,并且用于访问数据库的用户应对所有数据库具有适当的权限。

由于此解决方案仅在所有查询中针对表添加架构名称。



 类似资料:
  • 问题内容: 语境 我正在创建一个数据库环境,在该环境中,我想以几种不同的模式拆分数据以用于不同的用户组。但是,由于其中一个数据库包含公共实体,因此应该共享给所有人。 假设数据库: DB1-通用实体; 车轮实体 DB2-组“ A”; 汽车实体 DB3-组“ B”; 摩托车实体 我有三个不同的项目: 项目1: 车轮豆 专案2: 汽车制造商 专案3: 摩托车构造者 问题 我正在尝试从项目/方案(2,“

  • 问题内容: 有人知道如何在hibernate配置中添加另一个数据源,以及如何在自己的DAO中将Spring配置为其自动注入该数据源吗? 这是我的带有一个数据源的代码,可以完美运行,但是我不知道如何添加另一个数据源。我想添加另一个数据源,该数据源是具有与实际数据库不同的表的数据库。 HIBERNATE CONF 道例 问题答案: 好。我找到了另一个解决方案,并且使用了相同的方法:添加另一个dataS

  • 问题内容: 我正在尝试设计款待应用程序。我有两个表,分别为和。用户可以是或可以互相发送主机请求。但是无需将“用户”定义为访客或主机,这对于系统来说并不重要,因此我没有针对他们的单独表。这种差异在Request表中非常重要,并且需要保留和作为外键(由于Host和visitor也是User,因此与User表的主键列对应)。 我的问题是如何在hibernate状态下定义此关系?我的意思是,请求表中应该有

  • 问题内容: 我正在使用Hibernate + JPA作为我的ORM解决方案。 我正在使用HSQL进行单元测试,并使用PostgreSQL作为真正的数据库。 我希望能够将Postgres的本机UUID类型与Hibernate一起使用,并在其String表示形式中将UUID与HSQL一起用于单元测试(因为HSQL没有UUID类型)。 我正在为Postgres和HSQL单元测试使用具有不同配置的持久性X

  • 问题内容: 我正在使用Flamingo功能区和Substance Office 2007外观。 当然,现在 每个 控件都具有这种外观,即使对话框上也是如此。 我想要的是Office 2007中的功能,功能区具有Office 2007的外观,但其他控件保留其本机Vista / XP的外观。 是否可以为某些控件分配不同的外观?也许使用某种链接或代理外观? 问题答案: 我刚刚发现:由于物质5.0的SKI