У меня есть класс Java, сохраняющий строку (> 4k) в таблицу базы данных в поле CLOB.
Если строка меньше 4 КБ, она работает.
У меня есть поле, аннотированное с помощью @Lob, и первоначально я получал исключение из-за того, что пакетная обработка не поддерживается для потоков, поэтому я установил размер пакета 0 в конфигурации Hibernate, который дает исключение:
Причина: java.sql.SQLException: ORA-01460: запрошено невыполненное или необоснованное преобразование
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2152)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2035)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2876)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:609)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2062)
... 36 more
Эта проблема возникает только при использовании кода от Grails. Когда я использую тот же код из чистого Java-приложения, я не понимаю проблемы. Оба приложения имеют одинаковую конфигурацию гибернации (за исключением того, что мне нужно установить размер пакета равным 0 в Grails). Является ли проблема разницей в версиях Hibernate, которая, насколько я вижу, составляет 3.2.6ga в Grails и 3.2.5ga для java-приложения. Драйвер Oracle одинаков в обоих случаях.
Любые ответы приветствуются.