1. @Query
1) 개념
리포지토리 메소드에 직접 쿼리를 정의하고 싶을 때 사용
2) 속성
nativeQuery
네이티브 sql을 사용하고 싶을 때 해당 속성을 true로 설정
2. @Param
1) 개념
sql을 직접 작성한 후 파라미터를 바인딩 할 때 사용
3. @Modifying
1) 개념
모든 데이터에 일괄적인 업데이트를 날려야 하는 경우 벌크성 수정 쿼리를 사용하는데 그때 사용
2) 속성
clearAutomatically
4. @Repository
1) 개념
JPA예외를 스프링이 추상화한 예외로 변환
5. @Transactional
1) 개념
서비스 계층에서 트랜잭션을 시작하지 않으면 리포지토리에서 트랜잭션을 시작하도록 함. 스프링 데이터 jpa가 제공하는 공통 인터페이스를 사용하면 데이터를 변경하는 메소드에 @Transactional로 트랜잭션 처리가 되어 있다. jpa의 모든 변경은 트랜잭션 안에서 이루어져야 하기 때문에 이런 어노테이션이 사용된다.
2) 속성
readonly
- 데이터를 조회하지 않는 메소드에 true로 설정
- 플러시 생략해서 성능 향상 가능
'Spring > jpa' 카테고리의 다른 글
[JPA] 스프링 데이터 JPA (0) | 2023.02.23 |
---|---|
[JPA] JPA를 사용하는 다양한 방법 (0) | 2023.02.23 |
[JPA] 조인 테이블 (0) | 2023.02.21 |
[JPA] 복합키와 식별 관계 매핑 (0) | 2023.02.16 |
[JPA] 고급 매핑 관련 어노테이션 (0) | 2023.02.16 |