[SPRING] 스프링 데이터를 사용하는 동안 테이블 이름을 매개 변수의 값으로 바꾸는 방법 JPA nativeQuery
SPRING스프링 데이터를 사용하는 동안 테이블 이름을 매개 변수의 값으로 바꾸는 방법 JPA nativeQuery
이렇게 :
public interface XXXRepository extends CrudRepository<XXX, Integer> {
@Query(value = "select * from ?1 where ...", nativeQuery = true)
List<XXX> findByXXX(String tableName, ...);}
코드에 따라 MYSQL 구문 오류가 발생합니다. 구문 오류는 SQL의 테이블 이름이 " '"로 둘러싸인 것을 보여줍니다.
해결법
-
==============================
1.이건 불가능 해. 매개 변수는 where 절에서만 사용할 수 있습니다.
이건 불가능 해. 매개 변수는 where 절에서만 사용할 수 있습니다.
-
==============================
2.jpa 프로젝트에서 entitymanager를 사용할 수 있습니다.
jpa 프로젝트에서 entitymanager를 사용할 수 있습니다.
@Autowired EntityManager entityManager;
entityManager.createNativeQuery ( "select * from"+ tableName + "")
from https://stackoverflow.com/questions/40956013/how-to-replace-table-name-with-value-from-parameter-while-using-spring-data-jpa by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] onedrive에 파일을 업로드 할 때 Java 코드를 트리거하여 onedrive에서 파일을 다운로드하십시오. (0) | 2019.07.16 |
---|---|
[SPRING] @Transactional 주석이있는 여러 트랜잭션 관리자 (0) | 2019.07.16 |
[SPRING] Spring Data MongoDb는 $ filter 배열 집계 연산자를 지원합니까? (0) | 2019.07.16 |
[SPRING] 바람둥이 봄 MVC 시작 예외를 해결하는 방법? (0) | 2019.07.16 |
[SPRING] Spring과 Spring MVC 프레임 워크의 차이점은 무엇입니까? (0) | 2019.07.16 |