2016-02-17 2 views
1

Я пытаюсь настроить соединение с базой данных в файле hibernate.cfg.xml. Но не знаю, что имя объекта следует использовать:Имя свойства hibernate должно использовать

hibernate.connection.driver_class 

или Whithout зимуют

connection.driver_class 

В tutorial используется Whithout зимуют, но в следующем chapter уже с.

Какое название правильно и почему?

+0

Всегда обращайтесь к DOCS: [3,4. Дополнительные свойства конфигурации] (https://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/session-configuration.html#configuration-optional) –

+0

И вот вам: [3.3 , JDBC] (https://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/session-configuration.html#configuration-optional) –

ответ

1

В hibernate.properties вы должны использовать

hibernate.connection.driver_class

Основная причина того, что, если вы посмотрите на код, где hibernate.properties читается - Environment, вы можете увидеть, что свойства объединяются с другими свойствами, как есть. Таким образом, префикс hibernate необходимо, чтобы Hibernate мог распознать его свойства.

В hibernate.cfg.xml вы можете использовать

connection.driver_class или hibernate.connection.driver_class

Этот фрагмент кода из LoadedConfig класса, который получает свойства от hibernate.cfg.xml

private void addConfigurationValue(String propertyName, String value) { 
    value = trim(value); 
    configurationValues.put(propertyName, value); 

    if (!propertyName.startsWith("hibernate.")) { 
     configurationValues.put("hibernate." + propertyName, value); 
    } 
} 

Свойства от hibernate.cfg.xml используются как и с hibernate. префикс. Для каждого свойства добавляются два свойства без префикса hibernate..

Резюме

Это не так много смысла с этим странным поведением. Это всего лишь код. Это свойства первого случая добавляются как есть, во втором исправляется.

Лучший подход

Всегда используйте hibernate.connection.driver_class

+0

Благодарим вас за подробный ответ! – Max

+0

@Max Добро пожаловать. Спасибо, что согласились :) –

Смежные вопросы