【发布时间】:2012-07-30 04:17:29
【问题描述】:
注意:虽然一开始很相似,但这不是Using Spring, JPA with Hibernate to access multiple databases/datasources configured in Jboss的复制品
亲爱的 Stackoverflow,
我有一个带有休眠应用程序的 spring-jpa 在 jboss-4.2.1.GA 上运行并使用单个数据库。
我现在将第二个 spring-hibernate 项目与上述项目捆绑在同一个 ear 文件中,但它需要使用第二个数据库。第二个 hibernate/spring 项目是使用 database.properties 和 hibernate.cfg.xml 文件设置的。
两个数据库的详细信息存储在 jboss oracle-ds.xml 文件中:
<datasources>
<local-tx-datasource>
<jndi-name>DefaultDS</jndi-name>
...
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>SecondDS</jndi-name>
...
</local-tx-datasource>
</datasources>
我的问题是,在第二个项目中,使用第二个数据库而不是第一个数据库的对象,我如何为第二个数据库调用 sessionFactory,其详细信息存储在 oracle-ds.xml 而不是使用 database.properties文件? 我看过一个例子调用
@Resource(mappedName = "java:SecondDS")
private DataSource secondDS;
...
java.sql.Connection conn = secondDS.getConnection();
如果获取连接那么容易,只对准备好的语句有用,我怎样才能获得会话工厂?有没有类似的方法?
我看到的所有例子都是指 database.properties 而不是 jboss ds.xml 文件。
提前致谢
【问题讨论】:
标签: java database spring hibernate jboss