Есть ли простой способ просмотреть необработанное содержимое базы данных в Spring / JPA?

#java #spring #database #jpa

#java #spring #База данных #jpa

Вопрос:

Возможно ли просмотреть фактическое содержимое таблицы базы данных в приложении Spring? Это может быть либо типичный вывод SQL, распечатанный в System.out:

введите описание изображения здесь

Или любой другой тип интерактивного табличного представления.

Это будет использоваться в контексте модульных тестов spring, которые используют базу данных в памяти, поэтому нет отдельного запроса типа SQL, который можно использовать (если нет простого способа подключить это к базе данных в памяти).

Предпочтительно это без написания разного кода для каждого класса сущностей / репозитория. Основная цель — иметь возможность быстро просматривать / отлаживать то, что добавляется в таблицы базы данных при тестировании приложения (рядом с написанием реальных тестовых примеров).

Ответ №1:

Альтернативой является использование консоли для инструментов гибернации, доступных по адресу https://hibernate.org/tools /

Комментарии:

1. Это только в сочетании с инструментами JBoss или вы можете использовать его вне JBoss? Я не сразу нахожу отдельный плагин только с инструментами гибернации.

2. Все может быть изолировано, поскольку это Java, зависит от того, сколько работы потребуется. Тем не менее, если вы ищете такой конкретный инструмент, я бы посоветовал просто быть прагматичным и использовать его по мере необходимости.

Ответ №2:

При использовании базы данных H2 в памяти вы можете использовать консоль H2 для доступа к базе данных.

Вам понадобятся следующие свойства:

  • spring.datasource.url=jdbc:h2:mem:testdb (значение этого свойства необходимо будет ввести на экране входа в консоль H2 в качестве URL)
  • spring.h2.console.enabled=true

И при модульном тестировании нужно будет добавить webEnvironment=WebEnvironment.DEFINED_PORT в вашу @SpringBootTest аннотацию.