문제 발생 스프링부트에서 테이블을 생성하여 값을 저장하려고 하면 다음과 같은 오류가 발생했다. org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute statement [Table 'cicd_db.users' doesn't exist] [insert into users (age,username) values (?,?)]; SQL [insert into users (age,username) values (?,?)] 문제 원인 "Table 'cicd_db.users' doesn't exist" 이부분이 핵심인 듯하다. 나는 "Users" 테이블에 데이터를 삽입하려고 하는데 실제로는 "cicd_db.users" 테이블..
DB에서 특정 엔티티를 조회하면 연관관계에 있는 엔티티 또한 같이 조회됩니다. 연관관계에 있는 엔티티도 조회하기 위해서는 DB에 join과 함께 쿼리문이 나가게 됩니다. 특정 상황에서는 굳이 연관관계에 있는 엔티티가 필요로 없는 상황이 있을 수도 있습니다. 이때 연관관계에 있는 엔티티까지 DB에서 조회하는 것은 효율적이지 않습니다. JPA는 이런 문제를 해결하기 위해 엔티티가 실제 사용될 때까지 DB에서 조회를 지연시키는 방법을 제공합니다. 이를 지연로딩이라고 합니다. 기존 조회 - 연관관계에 있는 엔티티까지 조회 EntityManager의 find() 메서드를 사용하여 엔티티를 조회합니다. clear()로 인해 영속성 컨텍스트가 초기화되었으므로 DB로부터 엔티티를 조회해서 1차 캐시에 저장합니다. 출력..