I have done something like this following eclipse's spring and hibernate tutorial...
I am using postgres database.. lets assume I am using 10 tables in my database. .
I am trying to load them using...
beanFactory = new XmlBeanFactory(new ClassPathResource(
“applicationContext.xml”));
my applicationContext.xml has the following ...
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
default-destroy-method="true" >
<bean id="hibernateSession"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory"><ref bean="hibernateSession"/></property>
</bean>
<bean id="LoginDAO" class="com.sendGift.app.hibernate.LoginDAO">
<property name="sessionFactory">
<ref bean="hibernateSession" />
</property>
</bean>
<bean id="LoginDAOService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="transactionManager"/>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
</props>
</property>
<property name="target"><ref local="PersistenceLoginLayer"/></property>
</bean>
<bean id="PersistenceLoginLayer"
class="com.sendGift.app.hibernate.PersistenceLoginLayer"
abstract="false" scope="singleton" lazy-init="default"
autowire="default" dependency-check="default" >
<property name="loginDAO" >
<ref bean="LoginDAO" />
</property>
</bean>
<bean id="ContactDAO" class="com.sendGift.app.hibernate.ContactDAO">
<property name="sessionFactory">
<ref bean="hibernateSession" />
</property>
</bean>
<bean id="ContactDAOService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="transactionManager"/>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
</props>
</property>
<property name="target"><ref local="PersistenceContactLayer"/></property>
</bean>
<bean id="PersistenceContactLayer"
class="com.sendGift.app.hibernate.PersistenceContactLayer"
abstract="false" scope="singleton" lazy-init="default"
autowire="default" dependency-check="default" >
<property name="contactDAO">
<ref bean="ContactDAO" />
</property>
</bean>
......
..........
</beans>
Now .. I am able to do all operations..like save update delete insert ..
The main problem is that .... when I load these 10 tables using my applicationContext.xml
There are 10 different process.. created in the task manager.. after going to all the process.. those 10 process .. are still there .. I think the connections are not closing down... for some reason ..
so when i open a new browser .. and try the same app.. another 10 postgres process adds up .. and so on ..
basically i need to close the connection ..
someone please help..