작성
·
218
0
2024-04-18T17:27:21.633+09:00 ERROR 19504 --- [apiserver] [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/zerock/apiserver/domain/QTodo] with root cause
java.lang.ClassNotFoundException: org.zerock.apiserver.domain.QTodo
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[na:na]
package org.zerock.apiserver.repository.search;
import com.querydsl.jpa.JPQLQuery;
import lombok.extern.log4j.Log4j2;
import org.springframework.data.domain.*;
import org.springframework.data.jpa.repository.support.QuerydslRepositorySupport;
import org.zerock.apiserver.domain.QTodo;
import org.zerock.apiserver.domain.Todo;
import org.zerock.apiserver.dto.PageRequestDTO;
import java.util.List;
@Log4j2
public class TodoSearchImpl extends QuerydslRepositorySupport implements TodoSearch {
public TodoSearchImpl() {
super(Todo.class);
}
@Override
public Page<Todo> search1(PageRequestDTO pageRequestDTO) {
log.info("search1........................");
QTodo todo = QTodo.todo;
JPQLQuery<Todo> query = from(todo);
query.where(todo.title.contains(""));
Pageable pageable = PageRequest.of(
pageRequestDTO.getPage() - 1,
pageRequestDTO.getSize(),
Sort.by("tno").descending());
this.getQuerydsl().applyPagination(pageable, query);
List<Todo> list = query.fetch(); // 목록 데이터
long total = query.fetchCount();
return new PageImpl<>(list, pageable, total);
}
}
코드는 잘 따라 친거같은데 getList() 할때마다 QTodo 클래스를 못찾는다고 요류가 뜨네요.... 어떻게 해결할 수 있을까요?
답변 1
0
우선은 Todo (QTodo는 건드리지 마시고) 클래스를 수정해서 저장해 보시기 바랍니다.
이후에 clean하시고 다시 compileJava를 실행해 주세요
Todo클래스가 변경되면 테스트 시에 다시 QTodo클래스를 생성할 겁니다.