프로그래밍 언어/Spring Framework(30)
-
[인프런 김영한] JPA - 준영속 Entity, 수정방법 및 주의사항
[인프런 김영한] JPA - 준영속 Entity, 수정방법 및 주의사항 해당 글은 인프런 김영한강사님의 영상을 보고 정리한 글입니다. 김영한 인프런 : www.inflearn.com/users/@yh 인프런 - 김영한의 강의들을 만나보세요. 우아한형제들 개발 팀장 (전: 카카오, SK플래닛) 저서: 자바 ORM 표준 JPA 프로그래밍 www.inflearn.com * 준영속 Entity - 영속성 컨텍스트가 더는 관리하지 않는 Entity (실전! 스프링 부트와 JPA 활용1)에서의 itemService.saveItem(book)에서 시도하는 Book 객체. Book 객체는 이미 Db에 한번 저장되어서 식별자가 존재하기 때문이다. 임의로 만들어낸 엔티티도 기존 식별자를 가지고 있으면 준영속 Entity로..
2021.03.07 -
[인프런 김영한] JPA - Entity 설계시 주의점
[인프런 김영한] JPA - Entity 설계시 주의점 해당 글은 인프런 김영한강사님의 영상을 보고 정리한 글입니다. 김영한 인프런 : www.inflearn.com/users/@yh 인프런 - 김영한의 강의들을 만나보세요. 우아한형제들 개발 팀장 (전: 카카오, SK플래닛) 저서: 자바 ORM 표준 JPA 프로그래밍 www.inflearn.com ▣ Entity 설계시 주의점 1. Entity에는 가급적 Setter를 사용하지 말자! - 변경 포인트가 너무 많아서 유지보수가 힘들다. 2. 모든 연관관계는 지연로딩으로 설계 - EAGER은 예측이 어렵고, 어떤 SQL이 실행될지 추적하기 힘들다. 그리고 JPQL을 실행할 때 N+1 문제가 자주 발생. - 실무에서는 모든 연관관계는 LAZY로 설정하기 - ..
2021.03.01 -
[인프런 김영한] JPA - JPA? ORM?
[인프런 김영한] JPA - JPA? ORM? 해당 글은 인프런 김영한강사님의 영상을 보고 정리한 글입니다. 김영한 인프런 : www.inflearn.com/users/@yh 인프런 - 김영한의 강의들을 만나보세요. 우아한형제들 개발 팀장 (전: 카카오, SK플래닛) 저서: 자바 ORM 표준 JPA 프로그래밍 www.inflearn.com ▣ ORM * Object-Relational Mapping(객체 관계 매핑) = ORM - 객체는 객체대로 설계 - 관계형 데이터베이스는 관계형 데이터베이스대로 설계 - ROM 프레임 워크가 중간에서 Mapping - 대중적인 언어에는 대부분 ORM 기술이 존재 ▣ JPA * Java Persistence API = JPA - JAVA 진영의 ORM 기술 표준 * J..
2021.02.28 -
[인프런 김영한] JPA - 페치 조인(fetch join), 컬렉션 페치조인
[인프런 김영한] JPA - 페치 조인(fetch join), 컬렉션 페치조인 해당 글은 인프런 김영한강사님의 영상을 보고 정리한 글입니다. 김영한 인프런 : www.inflearn.com/users/@yh 인프런 - 김영한의 강의들을 만나보세요. 우아한형제들 개발 팀장 (전: 카카오, SK플래닛) 저서: 자바 ORM 표준 JPA 프로그래밍 www.inflearn.com 실무에서 매우 자주 사용되며, 매우 중요하다 ▣ 페치조인 * SQL 조인 종류가 X * JPQ에서 성능 최적화를 위해 제공하는 기능 * 연관된 Entity나 컬렉션을 SQL 한번에 함께 조회하는 기능 * join fetch 명령어 사용 ▣ Entity 페치 조인 회원을 조회하면서 연관된 팀도 함께 조회(SQL 한번에) [JPQL] SEL..
2021.02.27 -
[인프런 김영한] JPA - 경로표현식
[인프런 김영한] JPA - 경로표현식 해당 글은 인프런 김영한강사님의 영상을 보고 정리한 글입니다. 김영한 인프런 : www.inflearn.com/users/@yh 인프런 - 김영한의 강의들을 만나보세요. 우아한형제들 개발 팀장 (전: 카카오, SK플래닛) 저서: 자바 ORM 표준 JPA 프로그래밍 www.inflearn.com ▣ 경로표현식 select m.username -> 상태필드 from Member m join m.team t -> 단일 값 연관 필드 join m.orders o -> 컬렉션 값 연관 필드 where t.name = 'A' .(점)을 찍어 객체 그래프를 탐색하는 것. 3가지를 구분할 수 있어야 한다. ▣ 경로 표현식 용어 정리 * 상태필드 : 단순히 값을 저장하기 위한 필드..
2021.02.23 -
[인프런 김영한] JPA - 조인
[인프런 김영한] JPA - 조인 해당 글은 인프런 김영한강사님의 영상을 보고 정리한 글입니다. 김영한 인프런 : www.inflearn.com/users/@yh 인프런 - 김영한의 강의들을 만나보세요. 우아한형제들 개발 팀장 (전: 카카오, SK플래닛) 저서: 자바 ORM 표준 JPA 프로그래밍 www.inflearn.com ▣ inner join Team team = new Team(); team.setName("TeamA"); em.persist(team); Member member = new Member(); member.setUsername("member1"); member.setAge(10); member.setTeam(team); em.persist(member); em.flush(); em..
2021.02.16