Я пытаюсь использовать TestContainers для моих интеграционных тестов.Я начал использовать его для создания экземпляров таких объектов, как:
@ClassRule
public static PostgreSQLContainer postgres = (PostgreSQLContainer) new PostgreSQLContainer()
.withDatabaseName("producto")
.withInitScript("init.sql");
Таким образом, мои классы сущностей работают отлично.Но когда я попытался использовать его через URL JDBC, как описано здесь , я получил следующее исключение
rg.postgresql.util.PSQLException: ERROR: cross-database references are not implemented: "producto.producto.driver"
Я использую Spring Boot, поэтому я определяю следующие свойства вмой application.properties, чтобы воспользоваться преимуществами автоконфигурации Spring Boot (и больше не определять контейнер в коде):
spring.datasource.driver-class-name=org.testcontainers.jdbc.ContainerDatabaseDrive
spring.datasource.url=jdbc:tc:postgresql://somehostname:someport/producto?TC_INITSCRIPT=init.sql
Мой класс сущности определен как:
@Entity
@Table(name = "driver", schema = "producto", catalog = "producto")
public class DriverEntity { }
Я не знаюне понимаю, почему он работает при определении объекта, но не при использовании URL-адреса jdbc.
¿Нужно ли определять другие свойства?