목록스프링/스프링 데이터 JPA (2)
백엔드 개발자
Auditing 등록일, 수정일 같은 공통으로 필요한 속성들을 class 로 정의하여 추가할 수 있도록 해준다. 보통 createdDate 이나 updateDate을 추가해 줄 때 많이 사용한다. (등록자, 수정자도 가능) 기본 jpa에서는 @PrePersist 나 @PreUpdate를 사용해서 구현하는데 스프링 데이터 jpa는 클래스에 @EntityListeners(AuditingEntityListenner.class) 를 추가해주고 각 필드에 @CreateDate, @LastModifiedDate를 추가해 주면 된다. @EntityListeners(AuditingEntityListenner.class) @MappedSuperclass @Getter public class BaseEntity{ @Cre..
공통 인터페이스 CRUD에 해당하는 find, delete 등 많이 쓰이는데 항상 같은 코드를 반복하게 된다. JpaRepository 이것을 우리가 사용할 repository 인터페이스에서 JpaRepository 을 상속받으면 스프링 데이터 JPA에서 구현 클래스를 만들어 인터페이스를 구현한 프록시 객체를 만들어 준다. 우리는 인터페이스를 직접 구현하지 않고 find, findAll 등 지원하는 다양한 메서드를 사용할 수 있다. 메서드 쿼리 공통 인터페이스 말고 우리 도메인에 특화된 쿼리문도 필요할 것이다. 이때 정해진 규칙에 맞춰 메서드 이름을 작성하면 우리 도메인에 해당하는 쿼리로 구현체를 만들어준다. findByName 을 하면 name으로 찾아오는 쿼리를 자동 구현해 줄 것이다. And 로 여..