상세 컨텐츠

본문 제목

[JAVA] JPA 기능들

개발

by GoblinMode 2024. 1. 30. 22:11

본문

728x90
반응형

mybatis를 사용하던 개발자에게 고민이 생겼다.

 

JPA라는 프레임워크가 유행인데, 눈으로 보이던 쿼리가 보이지 않아

 

조회를 하는방법들을 어리둥절 한다.

 

우리에게 익숙한 SELECT, INSERT ... 등등에 SQL 문이 눈에 보이지 않는다!!

 

어떻게 해야하지??? 당황하고 있습니다.

 

다음 기능들을 기억하고 필요할때 찾아 쓰시조

 

메소드 기능 샘플
save() 저장  
findOne() 기본키로 데이터 조회  
findAll() 전체 레코드 조회 findAll(Sort Srot, Pageable pageable)
                    정렬,               페이
findBycolumn1Andcolumn2 조건 AND 조회  
findBycolumn1Orcolumn2 조건 OR 조회  
findBycolumnLessThan 컬럼보다 작은거 조회   
findBycolumnLessThanEqual 컬럼보다 작거나 같은거 조회  
findBycolumnGreaterThan 컬럼보다 큰거 조회  
findBycolumnGreaterThanEqual 컬럼보다 크거나 같은거 조회  
findByFirstnameLike Like 조  
findBycolumnOrderByLastnameDesc 내림차순, 오름차순 조회  
findBycolumnIn(Collection<column> columns) In 조회  
findBycolumnNotIn(Collection<column> column) Not In 조회  
count() 컬럼 갯수조회  
countBy() 조건에 맞는 컬럼 갯수 조회  

 

JPA 에서 제공하는 기능들이 있다.

 

countBy 기능을 사용하려는데 <if>을 유동적으로 처리하려는데 위에 메소드들로는 처리가 안되더라

 

그래서 방법을 찾아보니 JPA 에서 재공하는 Specification에 JpaSpecificationExecutor 사용하면된다.

 

사용법은 아래 주소에서 맞는 버전에 JPA 에서 확인하고 사용하면 된다. 

https://docs.spring.io/spring-data/jpa/docs/

 

Index of /spring-data/jpa/docs

 

docs.spring.io

 

JPA 사용이 처음이라면 한번 읽어보셔야 한다. 

 

그렇지 않으면 개발이 엉망이 될거 같습니다.

728x90
반응형

관련글 더보기