ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ..하ㅏ핳 UnknownEntityException 이름만 봐도 알거 같았다. select 기능도 하나 넣어주고 싶어서 EntityManager를 통해서 select쿼리 날렸는데 해당 table이 JPA를 사용하지 않고 있었기 때문에 발생했다.
발생된 코드다... 부끄럽지만 ㅋㅋㅋㅋ,,,
Exception이름만 봐도,, 아 이거구나 싶었다. 이래서 클래스,변수,메서드 이름 잘 짓는게 중요한거 같다
내가 고민을 하다가 statement방식은 sql Injection공격이 있을 수 있어서 prepared statement 방식으로 처리해야 되나 생각했다.
prepared statement는 org/h2/jdbc/JdbcPreparedStatement.java 에서 setString 메서드에서 quote메서드를 호출하는데 sql을 쿼리가 아닌 단순 문자열로 인식할 수 있게 인코딩 해준다라고 밑에 블로그에서 지식 한줌 먹고왔다. 대충은 알고 있었는데 코드로 직접보니까 이스케이프 문자로 처리하는구나 싶더라
그냥 나중에 ExcelFile을 DB에 바로 업로드 할 때 쓸라고 만든거라서 build해서 나중에 꼽아서 사용해도 내가 쓰기 때문에 굳이 sql injection은 의미 없을거 같아서 간단하게 statement를 이용해서 개발했다.
대충 만들었나 싶긴하지만,,, JPA사용하지 않고 지금의 나한테는 최선의 코드인거같다. 공부하고 보면 자극 받을거 같아서 올린다.
그래두 잘 동작한다 ~_~ 나중에 꼽아서 써야지
'개발 > Spring Boot' 카테고리의 다른 글
회원 탈퇴 로직 Spring Event로 처리하기 (0) | 2024.04.06 |
---|---|
[Spring] 스레드 풀 (1) | 2024.01.29 |
토큰 재발급 로직을 테스트하면서 발생한 문제 (2) | 2024.01.18 |
Test에서 deleteAll과 deleteAllInBatch() (0) | 2023.07.18 |
OAuth 2.0 GitHub 이메일 null이슈 (0) | 2023.04.08 |