#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
аннотацию.