JPA 6

[SPRING][JPA] Paging/Pagination - Pageable 객체 받아 사용하기

더보기 https://tecoble.techcourse.co.kr/post/2021-08-15-pageable/ Pageable을 이용한 Pagination을 처리하는 다양한 방법 Spring Data JPA에서 Pageable 를 활용한 Pagination 의 개념과 방법을 알아본다. tecoble.techcourse.co.kr https://tmdrl5779.tistory.com/61 [JPA] Paging JAP Paging DB에 저장된 데이터들을 페이지에 맞춰서 몇개씩 뿌릴건지 알려주는것. DB에 저장된 데이터가 30개라고 한다면 프론트에서 1페이지, 5개 라고 요청을 한다. 그러면 백엔드에서 전체 DB에서 tmdrl5779.tistory.com http://devstory.ibksplatfor..

[SPRING][JPA] native query 활용하기

패스트 캠퍼스의 강의 [한 번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지]를 보고 정리한 글입니다. 더보기 https://fastcampus.co.kr/courses/203525/clips/ 패스트캠퍼스 온라인 강의 - 초격차 패키지 : 한 번에 끝내는 Java/Spring 웹 개발 마스터 fastcampus.co.kr 사용 방법 및 특징 @Query(nativeQuery = true) 로해주면 사용가능 @Query(value = "select * from book", nativeQuery = true) List findAllCustom(); JPQL과 다르게 entity 속성을 사용하지 못함 Entity 명이 아닌 table 명을 써야함! * 이아니라 속성값을 넣어야 한다면 컬럼명을 ..

[SPRING][JPA] @Query 활용하기

패스트 캠퍼스의 강의 [한 번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지]를 보고 정리한 글입니다. 더보기 https://fastcampus.co.kr/courses/203525/clips/ 패스트캠퍼스 온라인 강의 - 초격차 패키지 : 한 번에 끝내는 Java/Spring 웹 개발 마스터 fastcampus.co.kr @Query란? Query Method 의 커스텀 버전! 일반적으로 @Query까지는 필요가 없으나 2가지의 경우 @Query를 쓰는 게 더 낫다 긴 쿼리메소드의 이름을 가독성이 좋게 수정이 필요한 경우 엔티티 전체가 아닌 필요한 컬럼만 부분적으로 조회가 필요한경우 1. Query Method의 가독성 문제 = Query Method의 이름의 길이가 길 경우 여러가지 조..

[220928] JPA query did not return a unique result 에러

문제상황 사용자가 가입한 모임을 조회하는 로직을 다 짜고나서 테스트를 해보니 에러가 났다. 검색을 해보니 Repository에서 find를 했을때 나오는 값이 여러개인데 그걸 받아주는 class가 하나일때 나타나는 에러라고한다! 더보기 https://wakestand.tistory.com/943 JPA query did not return a unique result 에러 해결방법 query did not return a unique result: 3 JPA에서 조회 사용 시 위와 같은 에러가 발생하는 경우는 Repository 부분을 확인해주면 되는데 조회 결과는 3건이 나왔지만 Repository에서 Return을 Class로 받.. wakestand.tistory.com 해결방법 👉현재 로직에서 r..

🚨에러노트 2022.09.28

[SPRING] [JPA] cascade Type 영속성 전이

특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶을때 사용 양방향 매핑시에만 가능 @OneToOne, @OneToMany, @ManyToOne 연관 관계가 있는 어노테이션에 cascade() 지원 eg. 부모 엔티티 저장시 자식 엔티티도 저장하도록 하는 경우 더보기 ❗ 쓰면 안되는 경우 => 자식의 연관 관계가 2개 이상일때 ex) C라는 엔티티가 A와 B에 의해서 관리된다 Cascade 종류 ALL: 모든 Cascade를 적용 PERSIST: 엔티티를 영속화할 때, 연관된 엔티티도 함께 유지 MERGE: 엔티티 상태를 병합(Merge)할 때, 연관된 엔티티도 모두 병합 REMOVE: 엔티티를 제거할 때, 연관된 엔티티도 모두 제거 DETACH: 부모 엔티티를 detach(..

[SPRING] [JPA] 기본 키 매핑 @GeneratedValue

더보기 개인 프로젝트에서 DB id 들이 사용자 1,2,3,4.. 게시글 1,2,3,4.. 댓글 1,2,3,4.. 이런 식으로 하고 싶었는데 내가 구현한 거는 사용자 1,4.. 게시글 2,5,6.. 댓글 3,7,8.. 이런 식이라 찾아보니 기본키 매핑의 문제였다... ㅎㅎㅎㅎㅎㅎㅎ @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; 직접할당 : 기본 키를 어플리케이션에서 직접 할당 해주는 방법 (application에서 생성) @Id만 사용하면 됨 자동생성 : 데이터베이스가 자동으로 할당해주는 방법 (db가 생성) @Id와 @GeneratedValue 사용 여러가지로 나뉨! @GeneratedValue(strategy = Genera..