728x90
반응형
전체 에러 내용
2022-10-13 07:29:13.707 WARN 20835 --- [nio-9080-exec-8] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 3065, SQLState: HY000 2022-10-13 07:29:13.707 ERROR 20835 --- [nio-9080-exec-8] o.h.engine.jdbc.spi.SqlExceptionHelper : Expression #1 of ORDER BY clause is not in SELECT list, references column 'mesdb.warehousin1_.created_date' which is not in SELECT list; this is incompatible with DISTINCT
해당 오류는 Select 문에 없는 칼럼을 Order문에서 사용하게 되면 발생하는 오류라고 합니다.
해결방법
저는 Select 문에 있는 속성으로 OrderBy를 변경하는 방법을 사용했습니다.
기존코드
//1이상의 원자재를 조회하는 기능
public List<RawMaterialDetail> readRawMaterialByItemIdOne(Long id){
return queryFactory
.selectFrom(rawMaterialDetail)
.where(rawMaterialDetail.item.id.eq(id).and(rawMaterialDetail.count.goe(1)))
.orderBy(rawMaterialDetail.warehousing.createdDate.asc())
.fetch();
}
변경코드
//1이상의 원자재를 조회하는 기능
public List<RawMaterialDetail> readRawMaterialByItemIdOne(Long id){
return queryFactory
.selectFrom(rawMaterialDetail)
.where(rawMaterialDetail.item.id.eq(id).and(rawMaterialDetail.count.goe(1)))
.orderBy(rawMaterialDetail.createdDate.asc())
.fetch();
}
orderBy 부분에서 rawMaterialDetail 내부에 있는 warehousing을 정렬하지 않고,
rawMaterialDetail이 생성되는 시점을 통해 정렬하였습니다.
다른 방법
저와 다른 경우 꼭 써야하는 분들은 아래 링크를 참고하시면 해결된다고 합니다.
MySQL 5.7.x 에서 ORDER BY clause is not in SELECT list 오류 발생 시.
[참고]
728x90
반응형
'Project > Management' 카테고리의 다른 글
[Management] Nginx를 이용한 Vue.js와 Spring 배포 (0) | 2022.11.08 |
---|---|
[Management] API 통신 시 로그 출력하는 필터 추가 (0) | 2022.11.03 |
[Management] AWS 배포 빌드 파일 자동 재시작 스크립트 (0) | 2022.10.27 |
[Management] 날짜 별 로그 생성 (0) | 2022.10.24 |
[Management] vue.js 빌드 파일 spring project 병합 (0) | 2022.10.14 |