Inflearn Community Q&A
동적 table naming 관련 건
Written on
·
1.6K
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 아니오
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요! 질문이 있어 문의 드립니다.
일반적으로 @entity에 테이블 명시를 하고 사용하는데 이 방법 외에 Spring boot JPA 에서 동적으로 table 이름을 변경할 수 있는 방법이 있는지 궁금합니다.
repository 인터페이스에 @Query 에서 테이블 이름을 파라미터로 주고, nativeQuery=true로 사용해보려고 하였으나 동작되지 않았습니다. (You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near)
몇 가지 방법을 찾아보았는데 해결이 어려워 관련하여 조언을 부탁드립니다.
- https://stackoverflow.com/questions/37190116/changing-table-name-dynamiclly-in-jpa-hibernate
- https://javaaltaf.blogspot.com/2019/01/change-table-name-of-entity-at-runtime.html
spring-bootjavaJPAspring웹앱
Answer 2
0
0
hym
Questioner
김영한님 안녕하세요!
JPQL로 해결이 안되어, 재문의 드립니다.
아래의 경우에는 tableName이 Entity 명으로 사용해야할 것 같은데요.
String jpql = "SELECT t FROM " + tableName+ " t";
Query query = em.createQuery(jpql);
물리적인 테이블 이름이 aa_2022, aa_2023 이런식으로 년도나 날짜별로 다르게 조회를 하고 싶은데, 이럴 경우에는 불가능한 것으로 보여서요. 해당 부분에 대해서 추가 확인 부탁드려도 될까요?






스스로 잘 해결하셨습니다^^