mybatis3 Transaction 내에서 ExecutorType 변경 불가 오류 Spring-Batch로 개발을 진행하던 중 아래와 같은 오류를 접하였다. org.springframework.dao.TransientDataAccessResourceException: Cannot change the ExecutorType when there is an existing transaction 현상은 "Transaction내에서 ExecutorType이 변경될 수 없다” 이다. 위 현상은 Batch 처리를 할 때 발생할 수 있다. 그 이유는 아래와 같다. MybatisPagingItemReader를 사용하면 내부적으로 SqlSessionTemplate이 생성될 때 ExecutorType.BATCH로 지정된다. 만약 MybatisPagingItemReader에서 다른 쿼리를 날려보고자 한다면.. 2017. 3. 15. Mybatis에서 resultType에 Primitive Type은 괜찮을까? 궁금증의 시작 Mybatis를 사용하고 있는 프로젝트 코드 중에 아래와 같은 코드를 보았습니다. ... int selectCount(); resultType이 int로 primitiveType으로 지정되어 있습니다. ORM에서는 Result를 primitive type 보다는 객체를 사용하는 것으로 알고 있습니다. Wrapper Class인 Integer로 반환한다면 NPE가 발생할 수도 있지 않을까 생각되었습니다. 테스트 그래서 먼저 null이 int로 형변환 된다면 어떤 결과가 발생할지 테스트 해 보았습니다. @Testpublic void Null을_int로_형변환_테스트() { int count = (Integer) null; } java.lang.NullPointerException at com... 2016. 10. 4. MyBatis 를 이용하여 executeBatch 처리하기 ibatis 를 이용하여 sql 을 묶음으로 처리 할 수 있었던 executeBatch() 를 MyBatis 에서는 어떻게 할 수 있을까요? ibatis 와 유사하게 아래와 같이 진행할 수 있습니다. @Configuration @MapperScan(basePackages = "com.mybatis.mapper", sqlSessionTemplateRef = "sqlSessionTemplate") public class MyBatisConfig { @Autowired private DataSource dataSource; @Bean(name = "sqlSessionFactoryBean") public SqlSessionFactoryBean sqlSessionFactoryBean() throws Excepti.. 2016. 6. 22. 이전 1 다음