본문 바로가기

JPA3

[JPA]어노테이션 @AllArgsConstructor - 클래스에 모든 필드를 인자로 받는 생성자를 자동으로 생성해주는 기능 @NoArgsConstructor - 매개변수가 없는 기본 생성자를 자동으로 생성해주는 기능을 제공 @DynamicInsert Hibernate 프레임워크에서 제공하는 애노테이션 중 하나로, INSERT 쿼리를 생성할 때 NULL 값을 가진 필드를 제외한 필드만 대상으로 INSERT 쿼리를 생성하도록 설정하는 기능을 제공 @DynamicUpdate Hibernate 프레임워크에서 제공하는 애노테이션 중 하나로, UPDATE 쿼리를 생성할 때 변경된 필드만 대상으로 UPDATE 쿼리를 생성하도록 설정하는 기능을 제공 @Data 클래스 내에 다음과 같은 메서드들을 자동으로 생성할 수 있습니다. 모든 필.. 2023. 4. 11.
[JPA]repository interface 설계 #.Spring Data JPA는 JpaRepository를 기반으로 더욱 쉽게 데이터베이스를 사용할 수 있는 아키텍처를 제공 #.스프링 부트로 JpaRepository를 상속하는 인터페이스를 생성하면 기존의 다양한 메서드 활용가능 #.리포지토리(Repository) -Spring Data JPA가 제공하는 인터페이스 -엔티티가 생성한 데이터베이스에 접근하는데 사용 -생성을 위해서는 접근하려는 테이블과 매핑되는 엔티티에 대한 인터페이스를 생성하고, JpaRepository를 상속받으면 된다. public interface ProductRepository extends JpaRepository{ } #.리포지토리 메서드 생성 규칙 - FindBy : SQL문의 where 절 역할을 수행하는 구문, 뒤에 엔.. 2023. 1. 18.
[JPA]엔티티 설계 #.Spring Data JPA를 사용하면 데이터베이스에 테이블을 생성하기 위해 직접 쿼리를 작성하 필요가 없다. #.JPA에서 엔티티는 데이터베이스의 테이블에 대응하는 클래스 -엔티티에는 데이커베이스에서 쓰일 테이블과 칼럼을 정의 -어노테이션을 사용하면 테이블 간의 연관관계를 정의할 수 있다, package.com.springboot.jpa.data.entity; import javax.persistence.*; import java.time.LocalDataTime; @Entity @Table(name = "product") public class Product { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long number;.. 2023. 1. 17.