부제: Hibernate Dynamic Eager and Lazy Load. JPA eager/lazy load. JPA eager load 하기 Hibernate는 JPA의 대표주자라고 할 수 있는 ORM(Object Relational Mapping)이다. MyBatis와 같은 SQL-Mapper와 달리 개발자가 쿼리를 직접 작성하지 않는다는 특징이 있다. 그래서 생산성이 좋고 SQL을 직접 작성하지 않으니 쓸데없이 DAO를 찍어낼 필요도 없고 장점이 많지만, 이 글에서 다루지 않을 것이다. 1. Eager load 와 Lazy load Eager-load와 Lazy-load에 대해 먼저 짚고 넘어가자. 뒤따라올 두개의 모델 예제를 보면 된다. @Entity public class Student { ..
부제: hibernate auto reconnect, spring boot JPA reconnect, org.hibernate.exception.jdbcconnectionexception could not prepare statement 문제 해결 Spring Boot + JPA + Hibernate로 MySQL을 연동하여 웹 앱을 구현했는데, 아래와 같은 문제가 발생했다. 구글링을 해보니, Mysql의 Connection Pipe(?)가 끊어진 것이다. 쉽게 말하면 연결을 잃어버린 것인데, Mysql의 경우 8시간 이상 요청이 없으면 연결을 끊어버린다고 한다. 내 앱을 쓰는 사람이 많은 것도 아니고, 밤에 자고 일어나는 것 감안하면 8시간은 너무 짧았다. 대책이 필요하다고 생각하여, 방법을 찾아봤는데 ..