2015-05-27 2 views
0

Я пытаюсь сделать пакетную вставку с помощью для каждого метода, я получаю исключение, говорящее мне, что я не могу изменить исполняемый тип исполнителя. Это очень странно, так как у меня сеанс SQL так определено:Есть ли способ получить текущий тип исполнителя?

<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> 
    <constructor-arg index="0" ref="sqlSessionFactory" /> 
    <constructor-arg index="1" value="BATCH" /> 
</bean> 

В любом случае я хотел бы проверить, что текущий тип исполнителя, чтобы убедиться, что это ПАРТИЯ один. Как это сделать? Я не вижу способа в SQLSession ...

ответ

1

В вашем примере sqlSession имеет тип SqlSessionTemplate и имеет getExecutorType() метод, так что вы просто должны использовать правильный тип и есть несколько вариантов, чтобы сделать это

  1. впрыснуть SqlSessionType вместо из простого SqlSession к службе, где требуется доступ к типу исполнителя
  2. отбрасываемой SqlSession к SqlSessionTemplate, а затем использовать getExecutorType
  3. INJECT SqlSessionType «s использовать свойство SP EL к службе, как это:

@Value("#{sqlSession.executorType}") private ExecutorType executorType;

Смежные вопросы