MyBatis에 Ehcache를 사용할 경우 주의할 점
※ 결과 객체 조작의 문제 mybatis-ehcache를 사용할 때, selectOne()의 결과로 캐싱된 객체를 얻을 경우, 그 객체에 변경을 가하면 이후 다른 곳에서 동일한 쿼리를 호출했을 때 변경된 결과(쿼리의 결과를 조작한 값)을 리턴하게 된다. => 디버깅하기 대단히 어렵다!!! 그렇기 때문에 절대 select의 결과 객체를 가공해서는 안된다. 이 문제를 방지하기 위해서는 ehcache 설정에서 copyOnRead 옵션을 true로 주어야 한다. 그러나… Read More »