JPA 소개 자바는 객체 지향적인 언어 데이터베이스는 관계형 DB 이 둘의 패러다임이 다르다 객체와 관계형 데이터베이스의 차이 상속 연관관계 데이터 타입 데이터 식별 방법 객체는 상속관계가 있지만, 관계형 데이터베이스에서는 객체지향에서 말하는 상속관계는 없다.(
연관관계 매핑시 고려사항 3가지 • 다중성 • 단방향, 양방향 • 연관관계의 주인 연관관계의 종류 • 다대일: @ManyToOne • 일대다: @OneToMany • 일대일: @OneToOne • 다대다: @ManyToMany (실무에서는 사용x) 다대일 가장 많
JPA는 다양한 쿼리 방법을 지원 JPQL JPA Criteria QueryDSL 네이티브 SQL JDBC API 직접 사용, MyBatis, SpringJdbcTemplate 함께 사용 JPQL JPA를 사용하면 엔티티 객체를 중심으로 개발 문제는 검색 쿼리
fetch join 굉장히 중요한 기능. 실무에서 fetch join을 모르면 jpa 사용 못한다고 봐도 될정도. SQL 조인 종류X JPQL에서 성능 최적화를 위해 제공하는 기능 연관된 엔티티나 컬렉션을 SQL 한 번에 함께 조회하는 기능 join fetch 명
스프링 부트를 통해 JPA를 사용할시... 복잡한 설정이 다 자동화 되었다. persistence.xml도 없고 , LocalContainerEntityManagerFactoryBean도 없다. 스프링 부트를 통한 추가 설정은 스프링 부트 메뉴얼을 참고하자. 쿼리
Spring Data JPA는 자기 혼자 돌아가는 기술이 아니라, JPA를 사용할때 많이 도와주는 기술이다. 정말 다양한 기능을 제공한다. 다만 JPA에 대한 이해없이 Spring Data JPA만 익혀 사용한다면 문제가 생길 수 있다. 탄탄한 JPA기반 지식위
Querydsl의 장점 Java JPA의 한계를 넘어서 쿼리를 자바 코드로 작성.(Creiteria는 복잡함에 의해 실용성이 떨어짐) 문법 오류를 컴파일 시점에 확인해줌 동적 쿼리문제를 쉽게 해결 해줌. 익숙하고 쉬운 SQL 문법 형식 스프링부트3 버전 이후
Spring Data Jpa를 사용하면 JpaRepository를 상속받아 쓸 수 있다.이렇게 하면 간편하게 이미 만들어진 기능을 쉽게 사용 가능하다.그런데 JpaRepository를 상속받지 않는 것에 대한 이유를 읽어 정리해보자고 한다.명령 모델이란? -> CQR