springDB 3

[Spring DB] Annotation

@Entity 클래스 위에 선언, 해당 클래스가 엔티티라는 것을 알려준다. 해당 클래스에서 정의된 필드들로 데이터베이스에 테이블을 만들어 준다. @Entity(name = “테이블이름”) 처럼 name 입력 시 이름 지정 가능 @Builder 해당 클래스에 해당하는 엔티티를 만들 때 빌더 패턴을 이용해서 만들 수 있도록 지정해주는 어노테이션 @AllArgsConstructor 선언된 모든 필드를 파라미터로 갖는 생성자 자동 생성 @NoArgsConstructor 파라미터 없는 생성자 자동 생성 @Getter 각 필드값을 조회할 수 있는 getter 메소드 자동 생성 ex) getName() @Setter setter() 메소드를 만들어 주지만, Entity 클래스에서는 setter 메소드를 만들지 않도록..

[Spring DB] JpaRepository

JPA(Java Persistence API) 자바 어플리케이션에서 관계형 DB를 사용하는 방식을 정의한 인터페이스 JPA는 인터페이스이기 때문에 Hibernate 등이 JPA를 구현한다. Spring에서는 Spring Data JPA 모듈을 이용한다. CRUD SQL을 처리해주지만 수정 메소드를 제공하지 않는다. Spring Data JPA Spring Data JPA 사용하기 의존성 추가하기 spring-boot-starter-data-jpa: 스프링 부트 pring Data JPA 추상화 라이브러리 h2: 인메모리 관계형 데이터베이스, 재시작할 때마다 데이터 유지되지 않고 초기화 build.gradle dependencies { **implementation 'org.springframework.b..

[Spring DB] BaseEntity

BaseEntity 모든 엔티티에서 공통으로 있는 객체가 있으면 BaseEntity를 정의해서 활용할 수 있다. @Getter @MappedSuperclass @NoArgsConstructor(access = AccessLevel.PROTECTED) public class BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) // Primary key 생성해주는 어노테이션, @Id 선언 후 사용 private Long id; public BaseEntity(Long id) { super(); this.id = id; } public boolean isNew() { return this.id == null; } public void se..

728x90