Yes, it should be the same method signature, but with an implementation that
is specific to each database server.

I created another spring-hibernate-custom-dao.xml file in a
src/main/resources/oracle directory listed in the Maven oracle-test profile,
which contains the custom DAO bean definition:
        <bean id="navbarLanguageCustomDao"

class="com.thalasoft.learnintouch.core.dao.oracle.hibernate.NavbarLanguageCustomHibernateDao">
                <property name="sessionFactory" ref="sessionFactory" />
        </bean>

This bean is then injected in the existing common DAO bean with:
        <bean id="navbarLanguageDao"
        
class="com.thalasoft.learnintouch.core.dao.hibernate.NavbarLanguageHibernateDao">
                <property name="sessionFactory" ref="sessionFactory" />
                <property name="navbarLanguageCustomDao" 
ref="navbarLanguageCustomDao" />
        </bean>

And the existing common DAO class can now use the injected custom DAO with:
        private NavbarLanguageCustomDao navbarLanguageCustomDao;
        public void setNavbarLanguageCustomDao(NavbarLanguageCustomDao
navbarLanguageCustomDao) {
                this.navbarLanguageCustomDao = navbarLanguageCustomDao;
        }

I think I'm almost there, but I still get an exception:

Caused by: java.lang.IllegalStateException: Cannot convert value of type
[$Proxy14 implementing
com.thalasoft.learnintouch.core.dao.GenericDao,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised]
to required type
[com.thalasoft.learnintouch.core.dao.oracle.NavbarLanguageCustomDao] for
property 'navbarLanguageCustomDao': no matching editors or conversion
strategy found





--
View this message in context: 
http://maven.40175.n5.nabble.com/DAO-injection-in-integration-tests-with-a-few-database-server-specific-methods-tp5732576p5732604.html
Sent from the Maven - Users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to