[2주차] JPA 사용해보기

송수용·2022년 3월 23일
0

웹 개발의 봄, Spring

목록 보기
10/25

소오름..

나는 비전공자고 프로그래밍이라는 것을 작년에 처음 배우기 시작했는데.
당시 교육기관에서는 java Spring 을 배웠었다.

인강을 통해서 Boot를 접하게 되었고, 그때 Boot는 Tool도, 방식도 기존의 Spring과는
인강에서 공부한 내용을 교육기관에서 적용하기가 힘들었다.

어쨋든 교육기관에 다닐 때 조금 무리해서 결제해둔 여러Boot강의와 인텔리제이, 항해99를 통해
지금은 Boot를 공부하곤 있지만,
그 비교되는 격차를 몸소 느끼면서 조금 편해졌다는 것을 느낄 수 있었는데
그때 정말 충격을 받았다.

JPA

여러 강의에서 JPA JPA JPA 말로는 많이 들었었는데,
이게 왜 중요한지 모르고 있다가 이번 강의를 통해 90%는 이해하게 된 것 같다.
(코드 작성하는 것에 익숙해져야 할 때인 것 같다.)
다시 한번 더 코드나 작업을 압축해서 간결하게 표현할 수 있다는 것이
또 한번의 충격이었던 것 같다.

"왜 이렇게 편한걸 그 동안 안하고 있었지.."

JPA 활용

먼저 console에 SQL이 보일 수 있도록 application.properties 를 세팅했다.

spring.jpa.show-sql=true

domain 패키지를 만들어 class를 생성하고, interface를 설정했다.

class

package com.sparta.week02.domain;

import lombok.NoArgsConstructor;

import javax.persistence.*;

@NoArgsConstructor 
@Entity 
public class Course {

  @Id 
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Long id;

  @Column(nullable = false) 
  private String title;

  @Column(nullable = false)
  private String tutor;

  public String getTitle() {
    return this.title;
  }

  public String getTutor() {
    return this.tutor;
  }

  public Course(String title, String tutor) {
    this.title = title;
    this.tutor = tutor;
  }
}

앞서 H2 콘솔에 작성했었던 SQL이 있었다.
그것들을 class에 java 코드로 나타낸 것인데..
어노테이션이며 왜 이렇게 쓰여지는지도 모른채로 따라치기에 급급했던 과거의 모습이
조금 한심했다.
그래서 코드리뷰를 하는 것도 매우 중요하고, 강의를 듣는 시간 외에 따로 분석하는 시간도 전보다는 더 시간을 할애해야겠다는 생각을 했다.

Repository

package com.sparta.week02.domain;

import org.springframework.data.jpa.repository.JpaRepository;

public interface CourseRepository extends JpaRepository<Course, Long> {
}

profile
#공부중 #협업 #소통중시 #백엔드개발자 #능동적 #워커홀릭 #스파르타코딩 #항해99 #미니튜터 #Nudge #ENTJ #브레인스토밍 #아이디어뱅크

0개의 댓글