spring jpa (Hibernate) 요청당 쿼리 count

회사 프로젝트가 거의 막바지로 이르면서 성능과 관련된 코드들을 리팩토링 하는중이다. 거의 대부분 jpa와 관련 있을 듯해서 jpa 튜닝(?) 이라고 해야 되나? 아무튼 그러고 있다. orm이 아닌 mapper 같은 경우에는 개발하면서 대충 몇번의 쿼리를 날리는지 감으로 알 수 있지만 jpa같은 경우에는 언제 어디서 쿼리들이 n+1이 될지 모르니 계속 모니터링을 하기 귀찮아서 로컬에서 테스트하거나 테스트 서버에 올릴때 요청당 쿼리를 count하는 것을 만들었다. 설명보다는 코드를 보자. @Slf4j @RequiredArgsConstructor public class RequestCountInterceptor extends HandlerInterceptorAdapter.. Read More

java Immutable class

오늘은 Immutable class에 대해서 알아보자. Immutable 클래스란 불변의 클래스를 말한다. 불변이라는 말은 변할수 없는 것을 말한다. 불변인 클래스가 좋은점은 객체가 안전하기 때문이다. java의 대표적인 불변 클래스 java의 대표적인 불변의 클래스는 String이다. String hi = “hi”; String wonwoo = hi.concat(” wonwoo”); System.out.println(wonwoo); 위의 코드는 변경하는 것으로 보이지만 실제로는 새로운 String을 리턴한다. String의 속성중 value를 변경하지는 않는다. 아래 코드는 String의 concat 메서드이다. 새로운 객체들 다시 만든다. public String concat(String str) { int.. Read More