JPA을 정확히 하기위해선 ORM을 알고 진행해야한다. 영속성이란?데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성영속성을 갖지 않는 데이터는 단지 메모리에서만 존재하기 때문에 프로그램을 종료하면 모두 잃어버리게 된다.메모리 상의 데이터를 파일 시스
Object-relational mapping( 객체 관계 매핑 )객체는 객체대로 설계하고, 관계형 데이터베이스는 관계형 데이터베이스 대로 설계한다ORM 프레임워크가 중간에서 매핑해준다대중적인 언어에는 대부분 ORM 기술이 존재한다ORM은 객체와 RDB 두 기둥 위에
JPA의 일부로 정의된 플랫폼 독립적인 객체지향 쿼리 언어이다.JPQL은 관계형 데이터베이스의 엔티티에 대한 쿼리를 만드는데 사용된다.SQL에 크게 영향을 받아 SQL문과 유사하지만 DB의 테이블에 직접 연결되는 것이 아니라 JPA 엔티티에 대해 동작한다.그렇기 때문에
QueryDSL이란? 정적 타입을 이용해서 SQL과 같은 쿼리를 생성할 수 있도록 해주는 프레임워크이고, Type-safe한 쿼리를 위한 Domain Specific Language이다.즉, QueryDSL은 SQL, JPQL을 코드로 작성할 수 있도록 도와주는 오픈소
현재까지 프로젝트내에 JPA를 사용하고 있지만 아직 N+1의 대한 문제가 발생되지 않아서 안일하게 생각하고 있었지만 JPA의 사용자로서 N+1의 문제 발생 시 성능에 큰 영향을 줄 수 있기때문에 정확히 무엇인지 이해하고 어떤상황에서 발생되는지, 어떻게 해결하면 되는지에
데이터들이 프로그램이 종료되어도 사라지지 않고 저장되는 개념인 영속성이라고 하는데 이 영속서을 위한 JDBC을 지원하고, 매번 매핑작업을 해주는 번거러움을 해결하는 방법이다.SQL Mapper와 ORM은 개발자가 직접 JDBC Programming을 하지 않도록 기능을