더북(TheBook)

이 코드에서 License 클래스는 스프링 데이터(Spring Data) 프레임워크가 Postgres 데이터베이스 내 licenses 테이블의 데이터를 자바 객체로 매핑하도록 도와주는 여러 JPA 애너테이션을 사용한다. @Entity 애너테이션은 이 자바 POJO가 데이터를 보관할 객체로 매핑될 것을 스프링에 알려 준다. @Table 애너테이션은 매핑할 데이터베이스 테이블을 스프링 및 JPA에 알려 준다. @Id 애너테이션은 데이터베이스의 기본 키를 식별해 준다. 마지막으로 데이터베이스의 모든 칼럼은 @Column 애너테이션을 가진 속성(attribute)으로 각각 매핑된다.

Tip


클래스의 속성이 데이터베이스의 칼럼 이름과 동일하다면 @Column 애너테이션을 추가하지 않아도 된다.

스프링 데이터와 JPA 프레임워크는 데이터베이스에 액세스할 수 있는 기본 CRUD 메서드를 제공한다. 표 5-3은 메서드 일부를 보여 준다.

▼ 표 5-3 스프링 데이터와 JPA 프레임워크 CRUD 메서드

메서드

설명

count()

가용한 엔터티 수 반환

delete(entity)

전달된 단일 엔터티 삭제

deleteAll()

저장소에 관리되는 모든 엔터티 삭제

deleteAll(entities)

전달된 모든 엔터티 삭제

deleteById(id)

전달된 ID의 엔터티 삭제

existsBy(id)

전달된 ID의 엔터티 존재 여부 반환

findAll()

모든 인스턴스 반환

findAllById(ids)

해당 ID가 있는 T 타입의 모든 항목 반환

findById(id)

ID로 엔터티 검색

save(entity)

전달된 단일 엔터티 저장

saveAll(entities)

전달된 모든 엔터티 저장

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.