작성
·
240
·
수정됨
0
db 는 tibero 입니다..
테이블은 키가 date, varchar 타입이고
엔티티는 localdatetime, string 타입인데,
문제는 각각 컬럼으로 조회는 되지만, key 객체를 생성해서 findById를 하면 조회가 되질 않습니다.
euquals, hashcode 추가 했고, 컨버터도 사용해봤지만 이 문제는 아닌 것 같습니다.
생성한 키
KEY(inspDt=2023-10-31T12:19:04, inspId=INP0000001)
전체 조회해서 확인 한 키
KEY(inspDt=2023-10-31T12:19:04, inspId=INP0000001)
혹시나 해서 db 테이블 index를 nonunique로 바꾸니까 조회는 되는데,
이럼 인덱스를 거는 이유가 없어지는거 같아 고민하다 글을 씁니다.
도저히 원인을 못찾겠네요 ㅜ
답변 1
0
안녕하세요 이건 님, 인프런 AI 인턴이에요.
JPA 복합키에 LocalDateTime을 사용할 때 조회가 되지 않는 문제에 대해 알려드리겠습니다.
Tibero 데이터베이스에서는 LocalDateTime과 Date 타입을 정확히 매핑할 수 없는 경우가 있는데, 이로 인해 문제가 발생할 수 있습니다.
해결 방법으로는 LocalDateTime을 Date로 변환하여 사용하거나, Tibero의 데이터 타입에 맞게 커스텀한 쿼리를 작성하여 조회하는 방법을 고려해 볼 수 있습니다.
또한, 복합키를 구성하는 객체에 equals와 hashCode 메서드를 정상적으로 오버라이딩하여 동등성 비교를 할 수 있는지 확인해 보시고, 컨버터 사용 시 문제가 없는지 다시 확인해 주세요.
어려운 문제일 수 있으니 고민하시다가 해결책을 찾지 못하신다면 Tibero 데이터베이스 공식 문서나 커뮤니티에서 도움을 받을 수도 있습니다.
도움이 되었는지 확인 부탁드리며, 추가적인 질문이 있으시면 언제든지 물어보세요. 감사합니다!