[JAVA] 6

5. JPA Advanced [Part.02]

안녕! 안녕! 이번 시간에도 JPA를 한층 Deep Dark.. 하게 다뤄보도록 하자. 저번 시간에는 CRUD 중에서 CREATE / READ 부분만 얘기 해보았다. 그렇다면 UPDATE / DELETE 역시 마무리를 지어야 하지 않겠는가? 그런 의미에서 스코프를 조금 더 앞 단으로 당겨줬다. 여태까지는 DB와 Repo 사이를 왔다갔다 하면서 뒷 단만 쪼물딱, 쪼물딱 해봤지. 이번에는 Repo 바로 앞 단인 Service 파트를 만들어 볼 것이다. 참고로 DB에 가까울수록 뒷 단, Client에 가까울수록 앞 단이라고 한다. 오케이! 다 좋다 이거야.. CRUD를 마저 완성해주기 위해 앞 단으로 스코프를 이동해 준다고 했지? 그런데 왜 그런 수고로움을 자처하는 것이지? 그냥 App.java 파일 하나에 ..

[JAVA]/JPA 2022.07.28

4. JPA Advanced [Part.01]

안녕! 안녕! 지난 챕터까지 해서 총 3번에 걸친 시간동안 JPA라는 녀석에 대해 이런 저런 이야기를 나눠보았는데.. 이해가 충분히 됐을지 모르겠다. 사실 글을 올리는 필자도 아직까지 아리송한 부분이 많은데, 여러분 또한 다르지 않다고 생각한다. 그래서 JPA를 짤 한 장으로 요약하기 위해 저 사진을 가져왔다. 사진을 보면 구조가 한 눈에 보이지? 하나의 앱은 크게 세 파트로 요약이 된다는 것을 알 수 있다. 우리는 그 중에서도 서버와 DB 사이의 영역 (Spring Server ~ DB Server) 을 다뤄본 셈이다. 여기서 JPA는 어떤 기능을 수행하고 있겠는가? 한 눈에 보기에도 Repository와 DB 사이에서 SQL Query를 열심히 번역 (Interpreter) 을 하고 있다. Java와..

[JAVA]/JPA 2022.07.27

2. JPA Basic

안녕! 안녕! 지난 시간에는 JPA를 사용하기 위해 선행되는 코드들을 먼저 살펴보았다. 일차적으로는 자바에서 SQL문의 빈도를 최소화하기 위해 사용한다고 했지? 솔직히 이 녀석은 프레임워크에 포함된 수많은 라이브러리 중 하나에 불과하다. 그런 주제에 실상은 인터프리터의 탈을 뒤집어 쓰고 있다고 해도 과언이 아니지. 마치 자바보다는 좀 더 유저 친화적인 파이썬처럼 말이다. 이번 시간부터는 본격적으로 JPA를 핸들링 해보도록 하자. 아직까지는 수박 겉핥기 수준이니, 필요한 부분만 적절히 취사하길 바란다. 뭐.. 여기까지 들어오신 분들이라면 자바 스크립트 비활성화를 모를리가 없겠지? 그래서 쓰잘데기 없이 우클릭을 막아놓고 그러지는 않았다. 우선 교보재로는 IntelliJ를 쓸 것이다. 물론 이클립스로도 가능하..

[JAVA]/JPA 2022.07.23

1. JPA General

앞으로 JPA와 관련해서 필자가 공부했던 내용을 올린다고 했지? 아직 전공서적을 못 정했기 때문에 필자가 나름대로 공부한 내용을 정리해서 올리겠다. 그래도 근본 없이 배운 것은 아니기 때문에 내용에서 의심할 여지는 없을 것이다. 그럼 잡담은 집어 치우고 바로 시작해보자. 1. JPA vs SQL CREATE TABLE IF NOT EXISTS courses ( id bigint(5) NOT NULL AUTO_INCREMENT, title varchar(255) NOT NULL, tutor varchar(255) NOT NULL, PRIMARY KEY (id) ); @NoArgsConstructor // 기본생성자를 대신 생성해줍니다. @Entity // 테이블임을 나타냅니다. // CREATE TABLE..

[JAVA]/JPA 2022.07.21

0. Intro

안녕! 안녕! 다들 휴가는 잘 갔다 왔을까? 필자는 지난 주 금, 토, 일 3일동안 강릉에서 죽때리고 왔다. 바닷바람 시원하고, 오션뷰 죽이고, 커피는 맛있고, 예쁜 눈나들도 많아서 좋긴 했는데.. 마냥 놀아버리기에는 불안하고, 초초해서 견딜 수가 없더라. 그래서 가족들 전부 곯아 떨어진 시간에는 노트북 LED 불빛에 의존해가면서 공부하곤 했다. 사실 여태까지 필자가 개발일지랍시고 올린 글들은 과제 제출 성격이 강했다. 팀 스파르타에서 운영하는 인강을 듣게되면, 꼭 주차 마지막에는 배웠던 내용 정리해서 올리라고 하거든.. 그래서 매번 정해진 주제를 가지고 열심히 쪼물딱 거리다가 올리는 거였지. 하지만 이제는 모든 커리큘럼이 다 끝났다. 스프링부트 기초반은 진즉에 끝났고.. 나랏돈으로 수강하던 웹개발 종합..

[JAVA]/JPA 2022.07.21