[SPRING] Spring 데이터로 저장 프로 시저를 호출하여 엔티티를 선택하는 방법
SPRINGSpring 데이터로 저장 프로 시저를 호출하여 엔티티를 선택하는 방법
다음 선택을 포함하는 MySQL 저장 프로 시저가 있다고 가정 해 보겠습니다.
select * from users;
JpaRepository에서 @Procedure 주석을 사용하여 결과를 얻을 수있는 방법은 무엇입니까? 같은 것 :
public UserRepository extenda JpaRepository<User, Long>{
@Procedure('get_users')
List<User> getUsers();
}
해결법
-
==============================
1.이것이 귀하의 절차라고 가정 해 보겠습니다.
이것이 귀하의 절차라고 가정 해 보겠습니다.
CREATE OR REPLACE PROCEDURE get_users(data out SYS_REFCURSOR) AS BEGIN OPEN data FOR SELECT * FROM USERS; END;
@NamedStoredProcedureQuery를 정의합니다.
@NamedStoredProcedureQuery( name="getUsers", procedureName="get_users", resultClass=User.class, parameters={ @StoredProcedureParameter(queryParameter="data", name="data", direction=Direction.OUT_CURSOR) } ) @Entity public class User { ... }
그리고 다음과 같이 프로 시저를 호출 할 수 있습니다.
public UserRepository extends JpaRepository<User, Long>{ @Procedure('User.getUsers') List<User> getUsers(); }
다음과 같이 EntityManager를 사용하여이를 확인할 수도 있습니다.
Query query = entitymanager.createNamedQuery("getUsers"); List users = query.getResultList();
from https://stackoverflow.com/questions/30578089/how-to-select-entities-by-calling-a-stored-procedure-with-spring-data by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 봄 부팅 - 나머지 템플릿 및 나머지 템플릿 빌더 (0) | 2019.04.01 |
---|---|
[SPRING] Spring 웹 소켓에서 오류 메시지를 보내는 중 (0) | 2019.04.01 |
[SPRING] 봄을 사용하여 속성 파일 재정의 (0) | 2019.04.01 |
[SPRING] 두 개의 고정 컨테이너 사이의 통신 문제 (0) | 2019.04.01 |
[SPRING] 스프링 보안, 폼 로그인 및 동시 세션 (0) | 2019.03.31 |