JPA는
JAVA로 Database를 사용하도록 도와주는 친구이다.
따라서 DB를 이용하는데 핵심인 "테이블"과 "SQL"의 같은 개념의 자바 용어가 있다.
"테이블"은 JAVA에서 Domain
"SQL"은 JAVA에서 Repository
로 쓰인다.
Domain과 Repository의 사용법
1. src > main > java > com.filename에 domain이라는 패키지(폴더)를 만든다.
2. ClassName.java, ClassNameRepository.java 클래스를 damain 안에 생성한다.
3.ClassName.java는 테이블 역할은 하는 Domain으로 사용될 녀석이다.
@NoArgsConstructor // 기본생성자를 대신 생성해줍니다.(setter)
@Entity // 테이블임을 나타냅니다.
public class Course {
@Id // ID 값, Primary Key로 사용하겠다는 뜻입니다.
@GeneratedValue(strategy = GenerationType.AUTO) // 자동 증가 명령입니다.
private Long id;
@Column(nullable = false) // 컬럼 값이고 반드시 값이 존재해야 함을 나타냅니다.
private String title;
@Column(nullable = false)
private String tutor;
//getter
public String getTitle() {
return this.title;
}
public String getTutor() {
return this.tutor;
}
public Course(String title, String tutor) {
this.title = title;
this.tutor = tutor;
}
}
SQL로 테이블과 데이터를 저장하는것 처럼
Course라는 테이블을 생성, id, title, tutor의 데이터를 입력하는 것을 확인할 수 있다.
4.
#1 Ropository.java를 생성한다 (src > main > java > com.filename > domain)
#2 domain 폴더 안에 (ClassName)Repository.java 클래스를 생성한다.
#3 생성할때 주의점! 생성 시 Class가 아닌 Interface로 생성한다
#4 ClassNameRepository.java는 SQL역할을 하는 Repository이며 JpaRepository를 사용할 인터페이스명만을 정해주면 된다.
public interface ClassNameRepository extends JpaRepository<ClassName, Long> {
}
해당 코드의
ClassNamePepository가 인터페이스명
ClassName가 Domain명 이다.
※인터페이스란 클래스에서 맴버가 빠진, 메소드 모음집이다.
'🍃웹개발 Spring' 카테고리의 다른 글
[Spring] JPA심화 (CRUD)_1 (0) | 2022.09.27 |
---|---|
[Spring] JPA 상속(extends) (0) | 2022.09.26 |
[Spring] JPA란. (1) | 2022.09.26 |
[SQL] SQL(CRUD) (0) | 2022.09.26 |
[Spring] IntelliJ SpringBoot 프로젝트 생성하기 (0) | 2022.09.26 |