나는 비전공자고 프로그래밍이라는 것을 작년에 처음 배우기 시작했는데.
당시 교육기관에서는 java Spring 을 배웠었다.
인강을 통해서 Boot를 접하게 되었고, 그때 Boot는 Tool도, 방식도 기존의 Spring과는
인강에서 공부한 내용을 교육기관에서 적용하기가 힘들었다.
어쨋든 교육기관에 다닐 때 조금 무리해서 결제해둔 여러Boot강의와 인텔리제이, 항해99를 통해
지금은 Boot를 공부하곤 있지만,
그 비교되는 격차를 몸소 느끼면서 조금 편해졌다는 것을 느낄 수 있었는데
그때 정말 충격을 받았다.
여러 강의에서 JPA JPA JPA 말로는 많이 들었었는데,
이게 왜 중요한지 모르고 있다가 이번 강의를 통해 90%는 이해하게 된 것 같다.
(코드 작성하는 것에 익숙해져야 할 때인 것 같다.)
다시 한번 더 코드나 작업을 압축해서 간결하게 표현할 수 있다는 것이
또 한번의 충격이었던 것 같다.
"왜 이렇게 편한걸 그 동안 안하고 있었지.."
먼저 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> {
}