jpa 2

Spring Data JPA

JPQL JPA Query Language 의 줄임말로 JPA에서 사용할 수 있는 쿼리 엔티티 객체를 대상으로 수행하는 쿼리 매핑된 엔티티의 이름과 필드의 이름을 사용 쿼리 메서드의 생성 쿼리 메서드는 주제(Subject)와 서술어(Predicate)로 구분 ' find...By ', ' exists...By ' 와 같은 키워드로 쿼리의 주제를 정하며, ' By '는 서술어의 시작을 나타내는 구분자 역할을 함. 서술어 부분은 검색 및 정렬 조건을 지정하는 영역 / 엔티티의 속성으로 정의할 수 있고, AND 나 OR 를 사용해서 조건을 확장하는 것도 가능. // (리턴타입) + {주제 + 서술어(속성)} List findByEmailAndName(String email, String name); 쿼리 메서..

데이터베이스 연동 - 2

ORM ORM은 Object Relational Mapping의 줄임으로 '객체 관계 매핑'을 의미함. 객체와 RDB (Relational DataBase)의 테이블을 자동으로 매핑하는 방법 자바 클래스는 RDB 테이블과 불일치가 존재할 수 밖에 없음. ORM이 불일치와 제약사항을 해결하는 역할을 함 ORM을 사용하면 코드로 데이터를 조작할 수 있음. ORM 장점 데이터베이스 쿼리를 객체지향적으로 조작 할 수 있음 개발 비용 ↓ 가독성 ↑ 재사용 및 유지보수가 편리함 데이터베이스에 대한 종속성이 줄어듦 데이터베이스를 교체하는 상황에서도 비교적 적은 리스크를 부담 ORM 단점 온전한 서비스 구현의 한계 복잡한 쿼리를 정확한 설계 없이 ORM만으로 구성하게 되면 속도 저하 등의 성능 문제가 발생할 수 있음 ..