KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I do have a generics-based DAO class, which is base for all other DAO classes in my project and contains common functionality: public class Dao<E> { private SessionFactory factory; public void setSessionFactory(SessionFactory factory) { this.factory = factory; } public E get(int id) { // .... } public void save(E entity) { // ... } public void delete(E entity) { // ... } } In my project I am using multiple datasources, pointing to different databases, therefore, I do have multiple session and transaction managers: <bean id="factory1" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="source1" /> </bean> <bean id="manager1" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="factory1" /> </bean> <bean id="factory2" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="source2" /> </bean> <bean id="manager2" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="factory2" /> </bean> Now I want to create couple of DAOs, operating on different databases: @Repository @Transactional("manager1") public class Dao1 extends Dao<Entity1> { @Overrides @Autowired @Qualifier("factory1") public void setSessionFactory(SessionFactory factory) { super.setSessionFactory(factory); } } @Repository @Transactional("manager2") public class Dao1 extends Dao<Entity2> { @Overrides @Autowired @Qualifier("factory2") public void setSessionFactory(SessionFactory factory) { super.setSessionFactory(factory); } } but the
Tags (comma-separated)
Save Edits
Cancel