Я начал изучать Quarkus и Panache через несколько дней после go, и до сих пор это было потрясающе. Однако я не могу понять, как запускать запросы Panache с помощью параметра «Evaluate Query» в IntelliJ IDEA.
Если я запускаю свое демонстрационное приложение с использованием ./mvnw compile quarkus:dev
, все определенные конечные точки работают правильно и отвечают ожидаемый ответ. Например, мой ArticleResource
определяет такой метод:
@Path("/article")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class ArticleResource {
@GET
public List<Article> getAll(@QueryParam @DefaultValue("0") Integer page) {
return Article.findAll().page(Page.of(page, 2)).list();
}
}
Нет проблем с данными, которые он возвращает при запросе с использованием curl
или http
. Однако, если я подключаю отладчик к приложению, приостанавливаю выполнение на точке останова в методе getAll
и использую функцию «Evaluate Expression» в выражении Article.findAll().page(Page.of(page, 2)).list()
вместо сущностей базы данных, возникает исключение.
Тип исключения: java.lang.IllegalStateException
с подробным сообщением This method is normally automatically overridden in subclasses: did you forget to annotate your entity with @Entity?
.
Я думаю, что подробное сообщение - отвлекающий маневр, потому что моя Article
сущность аннотирована аннотацией @Entity
для конечно, и соответствующая таблица базы данных также создается. Я пробовал два способа подключить отладчик к моему приложению:
- Определить собственный метод
public static void main
и запустить приложение как обычное Java приложение из IDEA. - Иметь IDEA выполнить цели
compile quarkus:dev
Maven и определить подключение к удаленному отладчику.
Оба этих подхода приводят к возникновению одного и того же исключения. Также не имеет значения, какие запросы Panache я пытаюсь оценить, даже простой вызов Article.listAll()
завершается неудачно с тем же исключением.
Я искал документацию по таким темам, как инструменты Maven, интеграция IDE и Panache , но не нашел упоминания об этой проблеме. При поиске деталей исключения большинство результатов поиска относятся к людям, у которых возникает эта проблема при запуске набора тестов, не связанных с отладчиком.
JDK, который я пытался использовать, - это GraalVM EE 20.1.0 (на основе OpenJDK 11).
Надеюсь, мое объяснение было понятно, и спасибо за понимание этого вопроса!