/ / Skonfiguruj JDBC i Hibernate Together na wiosnę - java, oracle, hibernate, spring, jdbc

Skonfiguruj JDBC i Hibernate Together na wiosnę - java, oracle, hibernate, spring, jdbc

Mamy wiele plików wojennych zapakowanych do uchaplik. Niektóre z wojen używają czystego JDBC i chcemy używać hibernacji do nowych wojen (modułów). Korzystamy z wersji 2.5.6, hibernacji 3.0 i jboss 4.2. Mamy następującą konfigurację menedżera transakcji.

<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:MyPool" />
</bean>

<bean id="transactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="allowCustomIsolationLevels">
<value>true</value>
</property>
</bean>

Działa to dobrze dla nas.

Teraz chcę skonfigurować transakcję hibernacji transactionManger dla nowych modułów w osobnym pliku xml.

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:/hibernate.cfg.xml"/>
</bean>

Generalnie konfigurujemy mangager transakcji hibernacyjnej w następujący sposób.

<bean id="transactionManager"   class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>

Ale chciałbym użyć tego samego odniesienia JtaTransactionManager zdefiniowanego dla konfiguracji JDBC. Pomóż mi w konfiguracji tego.

Odpowiedzi:

2 dla odpowiedzi № 1

Naprawdę nie potrzebujesz JTA, jeśli nie używasz 2-etapowych zatwierdzeń. Wystarczy skonfigurować Hibernate trans mgr i może on obsługiwać zarówno transakcje hibernacji, jak i jdbc. Ten link też może być pomocny http://forum.springsource.org/showthread.php?t=69864