Java Spring hibernate jpa和jboss-将对象保存到第二个数据库
注:虽然最初类似,但这不是 亲爱的Stackoverflow: 我有一个SpringJPA和hibernate应用程序,运行在jboss-4.2.1.GA上,并使用单个数据库 我现在有了第二个SpringHibernate项目,它与上面描述的项目捆绑在同一个ear文件中,但它需要使用第二个数据库。第二个hibernate/spring项目是使用database.properties和hibernate.cfg.xml文件设置的 这两个数据库的详细信息存储在jboss oracle-ds.xml文件中:Java Spring hibernate jpa和jboss-将对象保存到第二个数据库,java,database,spring,hibernate,jboss,Java,Database,Spring,Hibernate,Jboss,注:虽然最初类似,但这不是 亲爱的Stackoverflow: 我有一个SpringJPA和hibernate应用程序,运行在jboss-4.2.1.GA上,并使用单个数据库 我现在有了第二个SpringHibernate项目,它与上面描述的项目捆绑在同一个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呢?有类似的方法吗
我看到的所有示例都涉及database.properties,而不是jboss ds.xml文件
<persistence-unit name="sample">
<jta-data-source>java:/DefaultDS</jta-data-source>
...
</persistence-unit>
提前感谢有几种解决方案,具体取决于如何将数据源绑定到presistance上下文、Spring方式、JPA方式或Hibernate方式 弹簧 要将spring/hibernate应用程序链接到JNDI数据源,需要使用JndiObjectFactoryBean
<bean id="serverDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/blah"/>
<property name="proxyInterface" value="javax.sql.DataSource"></property>
</bean>
休眠
对于hibernate.cfg.xml文件,可以使用此属性指定JNDI数据源
<property name="connection.datasource">java:/comp/env/jdbc/MyDB</property>
java:/comp/env/jdbc/MyDB
应删除database.property以确保使用jndi数据源
这些只是示例,最终结果将取决于您如何制作管道。谢谢Kazaag,我已经了解了如何访问主数据库以及采用JPA方法。因此,我将采取同样的办法。
@PersistenceContext(unitName="sample")
<property name="connection.datasource">java:/comp/env/jdbc/MyDB</property>