java – Hibernate:在同一个应用程序中使用两个不同的DataBase模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Hibernate:在同一个应用程序中使用两个不同的DataBase模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1278字,纯文字阅读大概需要2分钟。
内容图文
![java – Hibernate:在同一个应用程序中使用两个不同的DataBase模式](/upload/InfoBanner/zyjiaocheng/731/0f5852fbd86143f081ddc57303dc9046.jpg)
上下文
我正在创建一个数据库环境,我想在几个不同的模式中拆分数据,以便用于不同的用户组.虽然,由于它包含共同的实体,因此应该向每个人共享其中一个数据库.
假设数据库:
> DB1 – 通用实体;
>车轮实体
> DB2 – 组“A”;
>汽车实体
> DB3 – 组“B”;
>摩托车实体
我有三个不同的项目:
>项目1:
>车轮豆
>项目2:
>汽车制造商
>项目3:
>摩托车构造函数
问题
我正试图从项目/模式(2,“A”)和(3,“B”)访问轮子(项目1)
第一个问题:有可能吗?
第二:我怎么做?
项目2中的hibernate.cfg.xml配置为
<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"/>
组态
> Eclipse Indigo
> MySql 5.5
> Hibernate 3.0(通过xml而不是注释进行映射)
>赢7
谢谢你的帮助!
解决方法:
您可以使用@Table(catalog =“”)指定它们所属的数据库,然后还可以跨数据库建立关系.
在您的情况下,Wheel使用catalog属性映射到DB1,Car到DB2和MotorCycle到DB3.
我已经使用MySQL和MSSQL的这个解决方案,并且工作得很好.只有约束这三个数据库必须在同一个数据库服务器中,用于访问数据库的用户应该拥有对所有数据库的适当权限.
由于此解决方案只是在所有查询中针对表添加模式名称.
内容总结
以上是互联网集市为您收集整理的java – Hibernate:在同一个应用程序中使用两个不同的DataBase模式全部内容,希望文章能够帮你解决java – Hibernate:在同一个应用程序中使用两个不同的DataBase模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。