i am using HibernateDAOSupport throughout.. i am not accessing the session directory(nor do i want to)..
in a normal testCase(without the mocktransaction) it works fine.
CategoryDAOImpl
Code:
public class CategoryDAOImpl
extends HibernateDaoSupport
implements ICategoryDAO{
/* (non-Javadoc)
* @see com.vanitysoft.griffin.domain.hibernate.dao.ICategoryDAO#save(de.nava.informa.impl.hibernate.Category)
*/
public void save(Category category) {
getHibernateTemplate().save(category);
}
/* (non-Javadoc)
* @see com.vanitysoft.griffin.domain.hibernate.dao.ICategoryDAO#delete(de.nava.informa.impl.hibernate.Category)
*/
public void delete(Category category) {
getHibernateTemplate().delete(category);
}
/* (non-Javadoc)
* @see com.vanitysoft.griffin.domain.hibernate.dao.ICategoryDAO#findAll()
*/
public List findAll() {
return getHibernateTemplate().loadAll(Category.class);
}
}
context
Code:
<beans>
<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean" singleton="true" lazy-init="default" autowire="default" dependency-check="default">
<property name="dataSource"><ref bean="dataSource"/></property>
<!-- Must references all OR mapping files. -->
<property name="mappingResources">
<list>
<value>de/nava/informa/impl/hibernate/Category.hbm.xml</value>
<value>de/nava/informa/impl/hibernate/Channel.hbm.xml</value>
<value>de/nava/informa/impl/hibernate/ChannelGroup.hbm.xml</value>
<value>de/nava/informa/impl/hibernate/ChannelSubscription.hbm.xml</value>
<value>de/nava/informa/impl/hibernate/Cloud.hbm.xml</value>
<value>de/nava/informa/impl/hibernate/Image.hbm.xml</value>
<value>de/nava/informa/impl/hibernate/Item.hbm.xml</value>
<value>de/nava/informa/impl/hibernate/ItemEnclosure.hbm.xml</value>
<value>de/nava/informa/impl/hibernate/ItemGuid.hbm.xml</value>
<value>de/nava/informa/impl/hibernate/ItemMetadata.hbm.xml</value>
<value>de/nava/informa/impl/hibernate/ItemSource.hbm.xml</value>
<value>de/nava/informa/impl/hibernate/TextInput.hbm.xml</value>
<value>com/vanitysoft/griffin/domain/hibernate/Authority.hbm.xml</value>
<value>com/vanitysoft/griffin/domain/hibernate/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
<prop key="hibernate.cache.provider_class">net.sf.hibernate.cache.EhCacheProvider</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass"><value>org.gjt.mm.mysql.Driver</value></property>
<property name="jdbcUrl"><value>jdbc:mysql://localhost:3306/griffin?</value></property>
<property name="user"><value>root</value></property>
<property name="password"><value></value></property>
<property name="maxPoolSize"><value>100</value></property>
<property name="maxStatements"><value>100</value></property>
<property name="autoCommitOnClose"><value>true</value></property>
</bean>
daoContext.xml
Code:
<beans>
<!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) , changed singleton to true, 10.10.04-->
<bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager" singleton="true" lazy-init="default" autowire="default" dependency-check="default">
<property name="sessionFactory"><ref bean="sessionFactory"/></property>
</bean>
<!-- ========================= Start of PERSISTENCE DEFINITIONS ========================= -->
<!-- DAO object: -->
<bean id="userDAO" class="com.vanitysoft.griffin.domain.hibernate.dao.impl.UserDAOImpl">
<property name="sessionFactory"><ref bean="sessionFactory"/></property>
</bean>
<bean id ="channelDAO" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager"><ref bean="transactionManager"/></property>
<property name="target">
<bean class="com.vanitysoft.griffin.domain.hibernate.dao.impl.ChannelDAOImpl">
<property name="sessionFactory"><ref bean="sessionFactory"/></property>
</bean>
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="replace*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="import*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="itemDAO" class="com.vanitysoft.griffin.domain.hibernate.dao.impl.ItemDAOImpl">
<property name="sessionFactory"><ref bean="sessionFactory"/></property>
</bean>
<bean id="categoryDAO" class="com.vanitysoft.griffin.domain.hibernate.dao.impl.CategoryDAOImpl">
<property name="sessionFactory"><ref bean="sessionFactory"/></property>
</bean>
<bean id="itemEnclosureDAO" class="com.vanitysoft.griffin.domain.hibernate.dao.impl.ItemEnclosureDAOImpl">
<property name="sessionFactory"><ref bean="sessionFactory"/></property>
</bean>
</beans>
thanks for the quick response.