title: "java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist" when using @Primary on one of the two SQLSessionFactory bean
body: <p>I have two datasources in place both are working fine separately. But, when I use <code>@Primary</code> on one of the two SqlSessionFactory the other starts throwing exception mentioned below :</p>
  
  <blockquote>
    <p>Exception in thread "main"
    org.springframework.beans.factory.BeanCreationException: Error
    creating bean with name 'pServiceImpl': Invocation of
    init method failed; nested exception is
    org.springframework.jdbc.BadSqlGrammarException:   Error querying
    database.  Cause: java.sql.SQLSyntaxErrorException: ORA-00942: table
    or view does not exist</p>
    
    <p>The error may exist in com/abc/def/mapper/pMapper.java (best guess)</p>
    
    <p>The error may involve defaultParameterMap</p>
    
    <p>The error occurred while setting parameters</p>
    
    <p>SQL: select C.CONTACT_ID, C.REF_ID, S.P_ID, S.COURIER_P_NUM, S.SENDER_ADDR_ID, S.CREATION_TS,
    CA.CONTACT_ADDR_ID from P_EVENT_TRACKING SE, P S,
    CONTACT_ADDR CA, CONTACT C where SE.EVENT_CD = 'PICKUP' and
    SE.P_ID = s.p_id and S.SENDER_ADDR_ID =
    CA.CONTACT_ADDR_ID and CA.CONTACT_ID = c.contact_id and C.GROUP_CD =
    'OT' and SE.EVENT_OCCURRED_IND = 'N' and S.CREATION_TS >= (select
    CURRENT_TIMESTAMP - interval '30' day from dual)and
    S.SCHEDULE_PICKUP_IND = 'Y'</p>
    
    <p>Cause: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist</p>
    
    <p>; bad SQL grammar []; nested exception is
    java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not
    exist</p>
    
    <p>at
    org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:137)
      at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
      at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
      at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
      at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
      at
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
      at
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
      at
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
      at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
      at
    org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
      at
    org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
      at
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
      at
    org.springframework.context.annotation.AnnotationConfigApplicationContext.(AnnotationConfigApplicationContext.java:84)
      at
    com.abc.def.app.starter.Pickup.main(Pickup.java:11)
    Caused by: org.springframework.jdbc.BadSqlGrammarException: </p>
    
    <p>Error querying database.  Cause: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist</p>
    
    <p>The error may exist in com/abc/def/mapper/PMapper.java (best guess)</p>
    
    <p>The error may involve defaultParameterMap</p>
    
    <p>The error occurred while setting parameters</p>
    
    <p>SQL: select C.CONTACT_ID, C.REF_ID, S.P_ID, S.COURIER_P_NUM, S.SENDER_ADDR_ID, S.CREATION_TS,
    CA.CONTACT_ADDR_ID from P_EVENT_TRACKING SE, P S,
    CONTACT_ADDR CA, CONTACT C where SE.EVENT_CD = 'PICKUP' and
    SE.P_ID = s.p_id and S.SENDER_ADDR_ID =
    CA.CONTACT_ADDR_ID and CA.CONTACT_ID = c.contact_id and C.GROUP_CD =
    'OT' and SE.EVENT_OCCURRED_IND = 'N' and S.CREATION_TS >= (select
    CURRENT_TIMESTAMP - interval '30' day from dual)and
    S.SCHEDULE_PICKUP_IND = 'Y'</p>
    
    <p>Cause: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist</p>
    
    <p>; bad SQL grammar []; nested exception is
    java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not
    exist</p>
    
    <p>at
    org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:231)
      at
    org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
      at
    org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
      at
    org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
      at com.sun.proxy.$Proxy26.selectList(Unknown Source)    at
    org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230)
      at
    org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:137)
      at
    org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:75)
      at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
      at com.sun.proxy.$Proxy32.findPByOutlet(Unknown Source)     at
    com.abc.def.dao.PDAOImpl.getPByOutlet(PDAOImpl.java:23)
      at
    com.abc.def.service.PickupServiceImpl.startExecution(PickupServiceImpl.java:62)
      at
    com.abc.def.service.PickupServiceImpl.execute(PickupServiceImpl.java:46)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)   at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)   at
    java.lang.reflect.Method.invoke(Unknown Source)   at
    org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:366)
      at
    org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:311)
      at
    org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:134)
      ... 13 more</p>
  </blockquote>