You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by fishchips <an...@accumio.de> on 2009/01/09 10:55:55 UTC

JPA: Exception saving CLOB

I try to save data in the oracle CLOB field. I declared a field in my Entity
bean: 
 @Lob private String data;	
Ther#s not much to do wrong, isn't it?  But I have an exception thrown:

Caused by: <openjpa-1.0.2-r420667:627158 nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: oracle.sql.CLOB in
classloader org.apache.geronimo.configs/openjpa/2.1.1/car
	at
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:3946)
	at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:97)
	at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:83)
	at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:59)
	at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:75)
	at
org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flushPrimaryRow(OperationOrderUpdateManager.java:203)
	at
org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flush(OperationOrderUpdateManager.java:89)
	at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
	at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
	at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:514)
	at
org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
	... 37 more
Caused by: java.sql.SQLException: oracle.sql.CLOB in classloader
org.apache.geronimo.configs/openjpa/2.1.1/car
	at
org.apache.openjpa.jdbc.sql.OracleDictionary.getEmptyClob(OracleDictionary.java:1016)
	at
org.apache.openjpa.jdbc.sql.OracleDictionary.setNull(OracleDictionary.java:514)
	at
org.apache.openjpa.jdbc.sql.DBDictionary.setTyped(DBDictionary.java:1090)
	at org.apache.openjpa.jdbc.sql.RowImpl.flush(RowImpl.java:888)
	at org.apache.openjpa.jdbc.sql.RowImpl.flush(RowImpl.java:848)
	at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:95)
	at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:73)

What's wrong about it?
-- 
View this message in context: http://www.nabble.com/JPA%3A-Exception-saving-CLOB-tp21369295s134p21369295.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: JPA: Exception saving CLOB

Posted by Donald Woods <dw...@apache.org>.
It could be the OpenJPA level used in the 2.1.1 server.  Can you try 
using a 2.1.4-SNAPSHOT or 2.2-SNAPSHOT server build, which is using 
OpenJPA 1.2.0?

The latest 2.1.4-SNAPSHOT build that passed the integration testsuite is 
at -
http://people.apache.org/builds/geronimo/server/binaries/2.1/20090108/


-Donald



fishchips wrote:
> I try to save data in the oracle CLOB field. I declared a field in my Entity
> bean: 
>  @Lob private String data;	
> Ther#s not much to do wrong, isn't it?  But I have an exception thrown:
> 
> Caused by: <openjpa-1.0.2-r420667:627158 nonfatal general error>
> org.apache.openjpa.persistence.PersistenceException: oracle.sql.CLOB in
> classloader org.apache.geronimo.configs/openjpa/2.1.1/car
> 	at
> org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:3946)
> 	at
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:97)
> 	at
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:83)
> 	at
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:59)
> 	at
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:75)
> 	at
> org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flushPrimaryRow(OperationOrderUpdateManager.java:203)
> 	at
> org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flush(OperationOrderUpdateManager.java:89)
> 	at
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
> 	at
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
> 	at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:514)
> 	at
> org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
> 	... 37 more
> Caused by: java.sql.SQLException: oracle.sql.CLOB in classloader
> org.apache.geronimo.configs/openjpa/2.1.1/car
> 	at
> org.apache.openjpa.jdbc.sql.OracleDictionary.getEmptyClob(OracleDictionary.java:1016)
> 	at
> org.apache.openjpa.jdbc.sql.OracleDictionary.setNull(OracleDictionary.java:514)
> 	at
> org.apache.openjpa.jdbc.sql.DBDictionary.setTyped(DBDictionary.java:1090)
> 	at org.apache.openjpa.jdbc.sql.RowImpl.flush(RowImpl.java:888)
> 	at org.apache.openjpa.jdbc.sql.RowImpl.flush(RowImpl.java:848)
> 	at
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:95)
> 	at
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:73)
> 
> What's wrong about it?