JPA이란? RDB(Relational Database)와 OOP 객체 사이의 불일치에서 오는 패러다임을 해결하기 위해 자바는 ORM(Object-Relational Mapping) 기술을 만들어 냈다. RDB는 우리가 흔히 쓰는 Mysql이나 Oracle와 같은 관계형 데이터베이스를 의미하며 ORM은 RDB를 매핑하는 역할을 함으로써 기본적인 쿼리문 같은 경우에는 개발자가 직접 작성하지 않아도 된다. 장점 객체지향적으로 관리가 되기에 비즈니스 로직에만 집중할 수 있기 때문에 생산성에 강점을 가진다. SQL로 직접 작성하지 않고, ORM 프레임워크가 대신 엔티티 필드가 되는 객체를 다르기 떄문에 유지보수가 간결하다. 복잡한 프로젝트 같은 경우에 Oracle, Mysql, Mssql 서로 같은 데이터베이스..
JPA
Spring Data JPA JPA 기반으로 조회, 수정, 삭제, 삽입 등의 반복적인 패턴을 하는 상황이 생김 이를 좀 더 편하게 개발할 수 있도록 Spring에서 기반한 JPA가 나오게 됨 특징 1. 스프링 데이터 JPA는 스프링 프레임워크에서 JPA를 편리하게 사용할 수 있도록 지원하는 프로젝트 2. 데이터 접근 계층을 개발할 때 구현 클래스 없이 인터페이스만 작성해도 개발을 완료할 수 있음 쿼리 메서드 1. 일반적인 CRUD 메서드는 JpaRepository 인터페이스가 공통으로 제공하므로 문제가 없음. 2. 스프링 데이터 JPA는 메서드 이름을 분석해서 다음 JPQL을 실행함. MemberRepository.findByUsername(...) -> 'select m from Member m whe..