Spring Boot 2-1 | JPA의 중요성

박범준·2023년 3월 6일
0

스프링부트

목록 보기
3/3

대충 알아야 할 개념은 없다

사실 나도 알고 있었던 말이지만...

집중력이 흐트러진 탓일까 "JPA"를 완전 머리속에 잊고 있었다

기초적인 개념을 넘어간 자의 댓가는 매우 고통스러웠으니...

일단 해결법이 어땠는지 부터 알고 가도록 하자

spring.jpa.hibernate.ddl-auto=create
spring.jpa.generate-ddl=false
spring.jpa.show-sql=true
spring.jpa.database=oracle

application.properties에 이것만 추가해주면 된다
오라클기준이다오라클 기준이다


그럼 지금부터는 내가 어떤 삽질을 했는지

차례차례 적어볼 생각이다

첫번째 삽질은 이름 바꾸기

강사님 파일 이름 : ProductDAOImpl
내 파일 이름 : ProductDAOimpl

지금 생각해도 웃긴데
이름이 달라서 오류가 나는 줄 알았다...

그래서 이름도 바꿔봤는데 될리가 없지

두번째 삽질 DB 계정 이름 ##제거

c##ADMIN 이였는데.. c##때매 안되는건가 싶었다

사실 c##은 그냥 DB버전에 따라 정해줘야 하는 DB이름 형식이 다를뿐이라서 전혀 상관 없다는걸 알았긴 했지만

할꺼 다 해봤는데 이것도 해봐야지

응 안돼

세번째 삽질 코드 내용 바꾸기

 String Productid;

 String Productname;

 Integer Productprice;

 Integer Productstock;

아 설마 강사님 완성본 코드와는 다르게

앞에 Product를 붙여서 그런건가?

삽질 시간이 늘어나니

머리에 있는 내용도 삽으로 파냈나보다

당연히 될리가 없음


결국 하루를 날린 나는 너무너무 답답하여 네이버 엑스퍼트로 전문가분에게 어떤 문제인지 여쭤 보기로 하였다

전문가분은 원격으로 나의 코드를 보고서

DB연결은 정상적이다
DB연결에는 그만 신경쓰고 개발에 좀 더 신경 써보라고 하셨다

사실 그 당시엔 DB가 제대로 연결 됐는지 안됐는지도 몰랐기 때문에

아직까지도 DB연결에 문제가 있나
Oracle써서 그런가... 이런 생각을 하고 있었기 때문에

엑스퍼트로 물어본 뒤 연결에 문제가 없다는 말을 듣고나서는 DB연동 자체의 문제보다는 다른쪽에 신경을 써보게 되었다


내가 간과 했던건 바로 이 부분 이였다

그건 바로 ORM의 존재를 알지 못했던것이다

데이터베이스의 CRUD를 처리해주는 ORM이 설정되어 있지 않았으니 당연히 테이블과 스키마가 생성될리가 없었던 것이다

ORM은 자바의 데이터 클래스와 데이터 베이스의 테이블을 매핑(대응)시켜주는 역할을 하는데

이걸 제대로 설정해주지 않았으니.. 밑빠진 독 아니 땅바닥에다 물을 쏟아 붇는 꼴이 되어 버린 것이다

ORM은 사실 DB연동과 생성 그 후에 유튜브 강의에서도 관련 내용이 나오는데 너무 성급하게 행동을 해버렸다

덕분에 JPA의 중요성을 알게 되었으니 다행인가 싶다가도

성급하게 배우려 했던 내 자신을 반성하게 되는 삽질이였다

profile
사람

0개의 댓글