본문 바로가기
스프링 (Spring)/DTO, Lombok, JPA, H2

JPA 사용 심화

by 후닝훈 2021. 7. 20.
반응형

JPA Repository 설정

public interface MemoRepository extends JpaRepository<Memo, Long> {
    List<Memo> findAllByOrderByModifiedAtDesc();
    // Timestamped의 ModifiedAt 을 가져온다.
    // find All By Order By ModifiedAt at Desc
}

- Jpa가 Memo를 가져올 때의 조건을 설정해 줄 수 있어야 한다.

- 위의 코드는 findAll / By / order (순서) - ModifiedAt  // Desc (내림차순) 이라는 뜻이다.

- GetMapping은 아래의 코드를 따른다.

    @GetMapping("/api/memos")
    public List<Memo> getMemos() {
        return memoRepository.findAllByOrderByModifiedAtDesc();
    }

 

public interface MemoRepository extends JpaRepository<Memo, Long> {
    List<Memo> findAllByModifiedAtBetweenOrderByModifiedAtDesc(LocalDateTime start, LocalDateTime end);
}

- 이 코드는 더 나아가서, Modified 된지 24시간 이내로 가져오는 코드이다.

- Between (localtime start, localtime end)를 통해 가져온다.

- GetMapping의 코드는 아래와 같이 변한다.

	@GetMapping("/api/memos")
	public List<Memo> getMemos() {
        LocalDateTime start = LocalDateTime.now().minusDays(1);
        LocalDateTime end = LocalDateTime.now();
        return memoRepository.findAllByModifiedAtBetweenOrderByModifiedAtDesc(start, end);
    }

 

반응형

'스프링 (Spring) > DTO, Lombok, JPA, H2' 카테고리의 다른 글

DTO, Data Transfer Object  (0) 2021.07.15
Lombok  (0) 2021.07.15
Spring의 Service / JPA Update, Delete  (0) 2021.07.14
JPA Repository - Save, findAll, findById  (0) 2021.07.14
CRUD  (0) 2021.07.13

댓글