데이터 베이스

Youngseon Kim·2023년 7월 27일
0

엔티티 관련 기본 어노테이션

@Entity

@Entity는 JPA에서 Java 클래스를 데이터베이스 테이블과 매핑하기 위해 사용되는 어노테이션입니다.

@Id

@Id는 Java Persistence API (JPA)에서 데이터베이스 테이블의 기본 키(primary key)로 사용될 필드를 지정하기 위해 사용되는 어노테이션입니다. JPA는 객체와 관계형 데이터베이스 간의 매핑을 지원하며, 각 객체가 데이터베이스의 레코드와 연결되기 위해 식별자(고유한 식별값)를 필요로 합니다. 이러한 식별자를 지정하기 위해 @Id 어노테이션을 사용합니다.

@GeneratedValue

@GeneratedValue는 JPA에서 엔티티의 기본 키(primary key) 값을 자동으로 생성하기 위해 사용되는 어노테이션입니다. 주로 기본 키 필드에 함께 사용되며, 데이터베이스가 자동으로 기본 키 값을 생성하도록 지정할 수 있습니다.

리포지토리 메서드의 생성 규칙

Spring Data JPA에서 Repository 메서드를 생성할 때, 메서드 이름을 특정 규칙에 따라 작성함으로써 기본적인 CRUD(Create, Read, Update, Delete) 기능을 자동으로 지원할 수 있습니다. 이러한 메서드 이름 규칙을 사용하면 별도의 쿼리문 작성 없이도 간단한 데이터베이스 조작을 수행할 수 있습니다.

기본적인 규칙은 다음과 같습니다:

findBy: 해당 접두어를 사용하여 특정 필드 값을 기준으로 데이터를 조회합니다.

예: findByFirstName(String firstName), findByAge(int age)
findBy{FieldName}: 필드 이름을 바로 붙여서 해당 필드 값을 기준으로 데이터를 조회합니다.

예: findByLastName(String lastName), findByEmail(String email)
findDistinctBy{FieldName}: 중복된 결과를 제거하여 해당 필드 값을 기준으로 데이터를 조회합니다.

예: findDistinctByCity(String city)
findBy{FieldName}And{FieldName}: 두 개 이상의 필드를 조합하여 데이터를 조회합니다.

예: findByFirstNameAndLastName(String firstName, String lastName)
findBy{FieldName}Or{FieldName}: 두 개 이상의 필드 중 하나와 일치하는 데이터를 조회합니다.

예: findByAgeOrCity(int age, String city)
countBy{FieldName}: 해당 필드 값을 기준으로 일치하는 데이터의 개수를 조회합니다.

예: countByStatus(String status)
deleteBy{FieldName}: 해당 필드 값을 기준으로 데이터를 삭제합니다.

예: deleteByLastName(String lastName)
...OrderBy{FieldName}Desc: 해당 필드를 기준으로 내림차순 정렬합니다.

예: findByAgeOrderByLastNameDesc(int age)
...OrderBy{FieldName}Asc: 해당 필드를 기준으로 오름차순 정렬합니다.

예: findByAgeOrderByFirstNameAsc(int age)
Top{n}By: 상위 n개의 결과만 조회합니다.

예: findTop5ByOrderByDateCreatedDesc()

0개의 댓글