2016-07-20 6 views
0

Приложение мое работало правильно, когда я настраивал Hibernate.cfg.xml без каких-либо данных. Я развертываю свое приложение в Weblogic. Но теперь я настроил его с использованием источника данных (как в .cfg, так и в Weblogic). Aster это внезапно я начал получать исключение, когда обновление на какой-то таблице происходит. Без DataSource работает нормально.Спящий режим: получение ошибки после настройки источника данных в Weblogic «org.hibernate.exception.GenericJDBCException: не удалось обновить»

Это был старой конфигурации: (работает отлично)

<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
    <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:XE</property> 
    <property name="hibernate.connection.username">username</property> 
    <property name="hibernate.connection.password">password</property> 
    <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property> 
    <property name="org.hibernate.envers.track_entities_changed_in_revision">true</property> 

Ниже приводится новая конфигурации: (бросает исключение)

<property name="connection.datasource">DataSourceTest</property> 
    <property name="jndi.class">weblogic.jndi.WLInitialContextFactory</property> 
    <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property> 
    <property name="org.hibernate.envers.track_entities_changed_in_revision">true</property> 
    <property name="show_sql">true</property> 
    <!-- <property name="hibernate.connection.autocommit">true</property> --> 
    <property name="hibernate.hbm2ddl.auto">update</property> 

Я сделал подобные конфигурации * в Weblogic 12.1.3 также

B ут теперь его дает следующее исключение:

2016-07-20 14:45:02 INFO AbstractBatchImpl:208 - HHH000010: On release of batch it still contained JDBC statements 
2016-07-20 14:45:02 WARN SqlExceptionHelper:144 - SQL Error: 17004, SQLState: 99999 
2016-07-20 14:45:02 ERROR SqlExceptionHelper:146 - Invalid column type: 16 
org.hibernate.exception.GenericJDBCException: could not update 

Все Select и Insert запросы работают нормально, но когда update происходит, отбрасывается выше ошибка.

Моя папка Lib содержит Jar Hibernate, JPA 2.1 баночку.

Это какая-то проблема с конфигурацией, которую я делаю? Все мои сопоставления и столбцы и т. Д. Кажутся прекрасными. Любая помощь будет оценена по достоинству.

+1

Можете ли вы попробовать изменить диалект на org.hibernate.dialect.Oracle10gDialect. Эта ошибка должна быть выбрана булевым типом –

+0

Большое спасибо за правильный ответ .. !!! Сразу после публикации этого вопроса я изменил Dialect на 10g ... и он сработал. – AnirbanDebnath

+0

@ AlexanderPetrov: Не могли бы вы объяснить, что вы имели в виду под 'Boolean type error'. Я не нахожу такой подсказки. Как это исключение связано с диалектом? – AnirbanDebnath

ответ

1

Здравствуйте, проблема связана с тем, что поддержка булевых в Oracle является либо CHAR (1), либо альтернативно NUMBER (1). В основном это означает, что вы либо будете иметь комбинации «1» - «0», либо «Y» - «N» соответственно. Проблема заключается в проблеме конверсии, которую драйвер JDBC должен знать, как преобразовать логическое значение в CHAR (1)/NUMBER (1)

Вы можете попробовать следующее: 1. Установите свой диалект на org.hibernate.dialect .Oracle10gDialect

в качестве альтернативы вы можете попытаться преобразовать номер (1)/Char (1):

@ org.hibernate.annotations.Type (тип = "true_false") @NotNull логическое значение;

или

@ org.hibernate.annotations.Type (типа = "yes_no") @NotNull логическое значение;

+0

Очень хорошо объяснено. – AnirbanDebnath

+0

: Is not 'OracleDialect' - общая версия' Oracle10gDialect'? Разве что диалект 10g действует по-разному, что вызывает эту проблему. – AnirbanDebnath

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