[SpringBoot JPA] 쿼리메소드 SELECT 정리
- Coding/JPA
- 2021. 10. 26.
반응형
728x90
반응형
전체 리스트 조회
List<User> userList = userRepository.findAll();
전체 리스트 조회 + regDts 컬럼 역순 정렬
List<User> userList = userRepository.findAll(Sort.by(Sort.Direction.DESC, "regDts"));
데이터 단건 조회 (1)
Long Type Id : 1
Optional<User> userOptional = userRepository.findById(1L);
Optional 리턴
https://devfunny.tistory.com/330
orElse 사용하여 없을 경우 null 리턴하기
User user = userRepository.findById(1L).orElse(null);
데이터 단건조회 (2)
@Transactional // could not initialize proxy 에러 해결
void crud_user_데이터등록_조회_findOne() { // create, read, update, delete
// could not initialize proxy
User user = userRepository.getOne(1L); // Lazy (getReference)
}
데이터 개수 조회
long count = userRepository.count();
isExist 존재여부 조회 (count(*)로 판별된다)
/* count(*) 쿼리가 실행됨 */
boolean exist = userRepository.existsById(1L);
데이터 단건 삭제
userRepository.deleteById(1L);
데이터 전체 삭제
userRepository.deleteAll()
파라미터에 해당하는 데이터 리스트 삭제
userRepository.deleteAll(userRepository.findAllById(Lists.newArrayList(1L, 3L)));
컬럼 NAME의 조건으로 데이터 조회
System.out.println(userRepository.findByName("test1"));
System.out.println(userRepository.findOptionalByName("test1"));
컬럼 EMAIL의 조건으로 데이터 조회
/* 모두 동일한 쿼리, 동일한 결과 */
System.out.println("findByEmail : " + userRepository.findByEmail("seohae1@naver.com"));
System.out.println("getByEmail : " + userRepository.getByEmail("seohae1@naver.com"));
System.out.println("readByEmail : " + userRepository.readByEmail("seohae1@naver.com"));
System.out.println("queryByEmail : " + userRepository.queryByEmail("seohae1@naver.com"));
System.out.println("searchByEmail : " + userRepository.searchByEmail("seohae1@naver.com"));
System.out.println("streamByEmail : " + userRepository.streamByEmail("seohae1@naver.com"));
System.out.println("findUserByEmail : " + userRepository.findUserByEmail("seohae1@naver.com"));
System.out.println("findSomeThingByEmail : " + userRepository.findSomeThingByEmail("seohae1@naver.com"));
반응형
'Coding > JPA' 카테고리의 다른 글
[SpringBoot JPA] 쿼리메소드 DateTime After/Before (0) | 2021.10.26 |
---|---|
[SpringBoot JPA] 쿼리메소드 WHERE AND/OR 절 (0) | 2021.10.26 |
JPA의 영속성 관리 (0) | 2021.07.30 |
SQL 중심의 개발 vs JPA (0) | 2021.07.30 |
JPA 처음 적용해보기 (with persistence.xml, EntityManagerFactory) (1) | 2021.07.08 |