Как программно заставить диалект HibernateJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как программно заставить диалект Hibernate

Сообщение Anonymous »

При запуске службы, если SQL-сервер недоступен, я получаю следующую ошибку:

org.springframework.beans.factory.BeanCreationException: Error создание bean-компонента с именем «entityManagerFactory», определенным в ресурсе пути к классу [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: невозможно создать запрошенную службу [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] из-за: невозможно определить диалект без метаданных JDBC (пожалуйста, установите «jakarta.persistence.jdbc.url» для распространенных случаев или «hibernate.dialect», если необходимо предоставить собственную реализацию диалекта)

Это сообщение об ошибке не очень полезно для службы поддержки. Кажется, что, поскольку Hibernate не может связаться с SQL-сервером, он не может обнаружить диалект, маскируя фактическую проблему, заключающуюся в том, что сервер недоступен.
Я подозреваю, что если я заставлю Hibernate используйте определенный диалект, он обойдет эту первоначальную ошибку и напрямую выявит основную проблему с подключением.
Я читаю конфигурацию из пользовательской структуры YAML. Вот моя настройка источника данных:

Код: Выделить всё

@Bean
DataSource dataSource(DataSourceProperties props) {
final DriverManagerDataSource dataSource = new DriverManagerDataSource();

dataSource.setDriverClassName(props.getDriverClassName());
dataSource.setUrl(props.getUrl());

if (!StringUtils.isBlank(props.getUsername())) {
dataSource.setUsername(props.getUsername());
}
if (!StringUtils.isBlank(props.getPassword())) {
dataSource.setPassword(props.getPassword());
}

log.info("Connecting to {}, user {}", dataSource.getUrl(), props.getUsername());

return dataSource;
}
Я не могу найти свойство DataSource, которое задает диалект. Как я могу заставить Hibernate использовать определенный диалект, чтобы обнаружить фактическую ошибку соединения?

Подробнее здесь: https://stackoverflow.com/questions/787 ... mmatically
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»