오늘 스프링 JTA 수업을 진행하며 시작부터 진도가 안나가서 애를 먹었다..🥹
우선 제일 먼저 마주한 오류는 아니지만 경고 사인..
검색해보니 다양한 결과가 나왔는데 콘솔창을 보니 'spring.jpa.open-in-veiw is enable by default' 라고 되어 있는 것이 눈에 보였고 그 경고를 위주로 찾아보았다.
aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default.
Therefore, database queries may be performed during view rendering.
Explicitly configure spring.jpa.open-in-view to disable this warning
대부분 application.properties에서 설정하는 해결방법이 나와있었다.
하지만 나는 application.yml에서 설정하는 방법이 필요하였기에 이 중 'open-in-view: false' 부분을 추가해주었다.
default 값이 true로 설정되어 있어서 생기는 문제였다.
참고 블로그 (참고 블로그에는 application.properties 해결방법도 포함한다)
🔗 SPRING.JPA.OPEN-IN-VIEW 로그 오류 해결하기
그래도 해결되지 않는 문제.. 🤔
분명 애플리케이션을 실행해서 로그에 'DEBUG' 부분의 로그를 출력 받아야 하는데 출력은 커녕 멈춰서 호출을 부르고 있기만 하는 것이었다.
처음에는 문제 해결을 위해 구글에 서치를 해보았다.
Initialized JPA EntityManagerFactory for persistence unit 'default'
이렇게 검색을 했는데 에러가 아니라 멈추어 있는 것이라고.. 그리고 빌드와 관련된 그리고 여전히 gradle, 의존성, yml 과 관련된 이야기들이 많았다.
그래서 다시 콘솔창을 유심히 살펴보았다.
2023-06-27 00:29:41.347 INFO 28428 --- [ main] c.c.Section3Week3TemplateTxApplication :
No active profile set, falling back to 1 default profile: "default"
......
2023-06-27 00:29:46.204 INFO 28428 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator :
HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2023-06-27 00:29:46.217 INFO 28428 --- [ main] j.LocalContainerEntityManagerFactoryBean :
Initialized JPA EntityManagerFactory for persistence unit 'default'
2023-06-27 00:29:46.363 DEBUG 28428 --- [ main] tor$SharedEntityManagerInvocationHandler :
Creating new EntityManager for shared EntityManager invocation
2023-06-27 00:29:46.440 DEBUG 28428 --- [ main] tor$SharedEntityManagerInvocationHandler :
Creating new EntityManager for shared EntityManager invocation
......
......
......
2023-06-27 00:29:46.906 DEBUG 28428 --- [ main] tor$SharedEntityManagerInvocationHandler :
Creating new EntityManager for shared EntityManager invocation
2023-06-27 00:29:47.409 INFO 28428 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer :
Tomcat started on port(s): 8080 (http) with context path ''
2023-06-27 00:29:47.421 INFO 28428 --- [ main] c.c.Section3Week3TemplateTxApplication :
Started Section3Week3TemplateTxApplication in 6.87 seconds (JVM running for 9.847)
콘솔창을 본 뒤로 NoJtaPlatform 이라길래 왜 jta 플랫폼이 없을까 하고 jta 사용 못하는 이유, nojta, transaction rollback fail 등을 찾아보고 메서드도 고쳐보았다ㅋㅋㅋ
의존성을 삭제하고 gradle을 refresh도 해보고.. (했다가 진짜 오류를 만나고 😱)
의존성, yml 파일도 다 고쳐보다가 안되겠다 싶어서 GPT한테 물어봤다..
근데 GPT랑도 30분 정도 싸웠다... GPT는 DEBUG가 성공적으로 실행되고 끝나고
진작에 이걸 깨닫고 내가 import를 잘못 한 건 아닌지.. 내가 뭘 잘못 작성한 것은 아닌지 깨달았어야 했는데..
아무튼.. 뒤늦게서야 깨달은 오류는 진짜 진짜 진심... 피슝~ 김 빠지는 나의 실수였다..ㅜ
에라 모르겠다~ 하면서 그냥 밑에꺼 하자 하고 작성하다가 readOnly를 작성하는데 에러가 뜨길래 왜 뜨나 하고 import 된 Transactional 어노테이션을 봤더니 'import javax.transaction.Transactional;' 이었다.
그런데도.. 문제가 해결되지 않았다.. 흑흑 오늘 잘 수는 있을까?
근데 이건 해결하고싶다.. 제발 제발 제발..ㅠㅠ 너무 답답쓰하다
.....
.....
.....
콘텐츠를 다시 읽어보다 깨달았다.
하...GPT 말이 맞았다.
이건 오류가 아니었다.
postman에서 보낸 요청이 없었고 그 요청에 대한 응답을 할 것이 없었던 것이었다.
그러니 당연 멈춰있는 것 처럼 보일 수 밖에 하.. 멍청해..🥹
난 사실 아직도 postman 사용법을 진짜 진자 모르겠다.. 찾아봐도 사실 응답을 보내고 받는 것은 내가 보내고 받는 것 나름이기에 내가 이해하기에 달렸을 것 같다.
공부해야지 하면서도 매일 이렇게 치이고 치이다 못한다.
항상 포스트맨 요청을 한 두 번만 해보고 되네, 하고 넘어가다 보니 생긴 나의 아주 크나 큰 실수가 아니었을까 생각한다.
휴... 그래도 해결이 되어서 마음이 한 결 편안하다.
남은 콘텐츠를 마무리 짓고 잠들어야 겠다. 혹시 모를 오류가 있으니 아직 마무리는 짓지 않아야지 : )
📙 postman request tutorial
역시 또 다른 고민이 생길 줄 알았다ㅎㅅㅎ
휴우... 위에꺼랑 똑같은 걸로 또.. 쳐다보면서 내내 고민하고 있었다 😱
이제는 콘텐츠에 요청을 보내라는 말이 없는데 뭐가 문제지?! 하면서ㅋㅋㅋ
request 한 방에 해결완! : )
그래도 이번엔 비교적 빨리 해결 했다 하하..
Spring Data JPA와 트랜잭션에 대해 공부하는 중인데 사실 아직 Spring Data JPA도 다 못 끝내서 너무 마음이 괴롭다..
주말동안보고 오늘도 봤지만 모르겠고 다른 분들의 코드를 아무리 들여다 보고 있어도 모르겠더라.
그 모르겠다는 것이.. 음... 다른 분들은 이야기를 들어보면 솔루션 코드나 다른 분들이 올린 코드가 아닌 검색만으로 문제를 풀었다고 하시는 것 같은데.. 나는 어떻게 그렇게 생각을 해서 그렇게 문제를 풀 수 있는데까지 갈 수 있는지 너무 대단하신 것 같다.
나는 아, 뭐를 써야겠다 라는 생각이 들지 않는데 ... 어떻게 그런 메서드들을 그 시점에서 생각해내고 쓰시는 걸까?!
그래서 나는 아직 진도를 못 나가는 중이다.. 그런 부분들이 이해가 안가고 있어서.
흐름을 파악하고 JPA를 이해하는 것이 우선인데 자꾸 메서드를 파고 드려니 또 문제이긴 한데..
내가 뭐가 어려운건지, 어떤 부분이 이해가 안가는 건지 정확하게 모르겠다. 다 어려운 것 같아서...
헉! 찡찡 거리면 안 되는데.
하.. postman 요청 보내느 방법을 모르겠다.ㅜ
그냥 자야겠다... 아직 JSON 작성방법을 모르겠다.... 아아아아ㅏㄱ!!! 짜증난다....
너무 답답해... 하...
내일 찾아봐야겠다....
결국.. 다 끝내지도 못하고... 해결하지도 못한 postman 요청 보내기... 흑..... 월요일운 진짜 너무 시간도 잘가고 할 것도 많아서 바뿐 하루다아 끝@!