4

我正在开发一个需要使用休眠连接到两个 Postgres 数据库的应用程序。详情如下:-

软件详细信息:- Java 1.6、Hibernate 4.1.0、Postgres 9.1。

问题场景:-应用程序需要在运行时连接到我的本地主机上的两个数据库 TEDA 和 TEMET 并执行基本的 CRUD 操作(用于初始阶段)。

尝试的方法:- 1. 将目录属性添加到<class>休眠映射文件的标记。但它没有用。目录总是被获取为空。2. 在我的 Hibernate 上下文中创建两个不同的数据源和会话工厂,并在不同的 DAO 对象中使用它们。这种方法对我有用,我能够连接到不同的数据库。

问题陈述和参考资料:-我正在寻找一种方法,使第 (1) 点中提到的“目录”方法可能起作用。

我搜索了 stack-overflow 和其他论坛,例如 Connect to multiple databases in Hibernate什么是 hibernate annotated class 中使用的“目录”,但他们中的大多数都讨论了使用多个数据源的方法(2)。我还查看了第 5.1.3 节第 6 点中的休眠社区文档,其中确实提到目录属性覆盖了 db Url 中的数据库名称,但我可能在这里遗漏了一些东西。

请协助。我修改的属性文件和休眠映射文件如下所示。

属性文件 -

driverClassName=org.postgresql.Driver
urlDB=jdbc\:postgresql\://localhost\:5432/TEDA    
username=****
password=****
dialect=org.hibernate.dialect.PostgreSQLDialect

休眠映射文件

<hibernate-mapping>
 <class name="somepackage.PartnerPoc" catalog="TEMET" table="partner_poc">
  <!-- Table specific hibernate implementation and HQL queries-->
</hibernate-mapping>

如果您需要我的更多信息,请告诉我。

提前致谢。

4

0 回答 0