인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

kingaser0927's profile image
kingaser0927

asked

Code-Based React with Spring Boot API Server

REST Controller - Update/Delete, CORS Settings

QTodo Class Not found

Written on

·

287

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 클래스를 못찾는다고 요류가 뜨네요.... 어떻게 해결할 수 있을까요?

reactspring-bootjpajwtredux-toolkit

Answer 1

0

zk202308a5410님의 프로필 이미지
zk202308a5410
Instructor

우선은 Todo (QTodo는 건드리지 마시고) 클래스를 수정해서 저장해 보시기 바랍니다.

 

이후에 clean하시고 다시 compileJava를 실행해 주세요

 

Todo클래스가 변경되면 테스트 시에 다시 QTodo클래스를 생성할 겁니다.

 

 

kingaser0927's profile image
kingaser0927

asked

Ask a question