注意:虽然一开始很相似,但这不是重复使用 Spring、JPA 和 Hibernate 来访问 Jboss 中配置的多个数据库/数据源
亲爱的 Stackoverflow,
我有一个在 jboss-4.2.1.GA 上运行并使用单个数据库的带有休眠应用程序的 spring-jpa。
我现在将第二个 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();
如果获得一个连接那么容易,那只对准备好的语句有用,我怎样才能掌握 sessionFactory?有没有类似的方法?
我见过的所有例子都是指 database.properties 而不是 jboss ds.xml 文件。
提前致谢