인프런 커뮤니티 질문&답변

jypark928님의 프로필 이미지
jypark928

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

날짜 쿼리 검색시, 날짜 형식 관련 오류

작성

·

320

0

@EntityListeners(AuditingEntityListener.class)
@Getter
@MappedSuperclass
public class BaseEntity {

    @CreatedDate
    @Column(updatable = false)
    private LocalDateTime createdTime;

    @LastModifiedDate
    private LocalDateTime modifiedTime;
}
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
public class test extends BaseEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
}
 @Test
    public void 테스트() throws Exception {
        //given
        LocalDateTime startDatetime = LocalDateTime.of(LocalDate.now().minusDays(3), LocalTime.of(0,0,0));
        System.out.println("startDatetime = " + startDatetime);
        List<test> byCreatedTime = testRepository.findByCreatedTime(startDatetime);

        System.out.println("*****************************************");
        System.out.println("byCreatedTime = " + byCreatedTime);
        System.out.println("*****************************************");

엔티티 구성을 위와 같이하고, 생성일자를 기준으로 검색하고 싶습니다.

테스트 코드에서 startDatatime 을 sout으로 로그를 보면 [startDatetime = 2021-02-19T00:00] 이렇게 남는데,

실제 쿼리 나가는걸 보면 [created_time='02/19/2021 00:00:00.000'] 이렇게 들어가서,

쿼리 결과가 나오질 않네요.

어느 부분을 고쳐야하는지 모르겠습니다...ㅠㅜ 답변 부탁드려요

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. jypark928님

이 문제는 사실 눈에 보이는 로그의 문제가 아닙니다.

@LastModifiedDate가 저장하는 날짜는 년월일 시분초, 이하 밀리세컨드까지 다 저장되는데,

조회하실 때는 년월일로만 조회했기 때문에 발생하는 문제입니다.

between 문법으로 조회해보시길 바랍니다.

감사합니다.

jypark928님의 프로필 이미지
jypark928

작성한 질문수

질문하기