I am using single DAO (using hibernate) to do all my interactions with the database for an entire web application.
I'm not completely sure if the approach I am taking will scale. In fact I've seen some problems with too many oracle processes being utilised until it refuses my connections.
My methods typically look like the following and I'm wondering if anybody could give me some feedback on them... Am I not doing something I should be doing?
Code:public void saveThing(Thing thing) { getHibernateTemplate().saveOrUpdate(thing); }
Code:public List<Thing> getThings() { List loadAll = getHibernateTemplate().loadAll(Thing.class); return loadAll; }
The relevant config is as follows...
Code:<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="annotatedClasses"> <list> <value>test.Thing</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop> </props> </property> </bean> <!-- Declares the DAO - Data Access Object --> <bean id="dao" class="test.dao.MyDAO"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@XXX:XXX:XXX" /> <property name="username" value="test" /> <property name="password" value="test" /> </bean>


Reply With Quote