NOT NULL : 비어있으면 안된다
PRIMARY KEY (id) : id를 구분할 수 있는 값(key)으로 삼겠다
AUTO_INCREMENT : 자동으로 하나씩 증가
테이블 = Domain
SQL = Repository
JPA는 Repository를 통해서만 사용 가능
인터페이스 = 클래스에서 멤버가 빠진 메소드 모음
자고로 DB라 함은 생성일자와 수정일자를 필드로 가져야 함
어노테이션
@MappedSuperclass // 상속했을 때, 컬럼으로 인식하게 합니다
@EntityListeners(AuditingEntityListener.class) // 생성/수정 시간을 자동으로 반영하도록 설정
@CreatedDate // 최초 생성 시점
@LastModifiedDate // 마지막 변경 시점
@EnableJpaAuditing // 시간 자동 변경이 가능하도록 합니다.
@SpringBootApplication // 스프링 부트임을 선언합니다.
jpa에서
repository.save() - 데이터 저장
repository.find***() - 데이터 조회
수정(Update)의 경우 스프링의 구조 3가지 중 Service 부분에 작성
@Service // 스프링에게 이 클래스는 서비스임을 명시
@Transactional // SQL 쿼리가 일어나야 함을 스프링에게 알려줌
repository.delete***() - 데이터 삭제