[ https://issues.apache.org/jira/browse/OPENJPA-2661?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Shank resolved OPENJPA-2661. --------------------------------- Resolution: Resolved Oracle has a patch for bug 22385253 that can be downloaded and applied to the ojdbc jars that will resolve this issue. > Oracle ojdbc7.jar version 12.1.0.2 causes ORA-01461: can bind a LONG value > only for insert into a LONG column > ------------------------------------------------------------------------------------------------------------- > > Key: OPENJPA-2661 > URL: https://issues.apache.org/jira/browse/OPENJPA-2661 > Project: OpenJPA > Issue Type: Question > Reporter: Gary Shank > > I've seen similar issues to this but they are resolved (OPENJPA-1691 and > OPENJPA-1839) but this version of the Oracle ojdbc7.jar is very new and is > causing a problem. I'm hoping its an Oracle issue and not an OpenJPA issue. > I do not have a problem if I use earlier versions of that jar (12.1.0.1 or > earlier). Anyone else seen this issue with the new Oracle driver? Any > thoughts on whether it is an Oracle issue or OpenJPA issue? Below are the > specifics: > I have the following JPA class which has been working for years with Oracle > 11g and now Oracle 12c using OpenJPA starting with openjpa-all-2.2.1.jar and > currently with openjpa-all-2.4.0.jar (plus I tried the newest > openjpa-all-2.4.1.jar). > import java.io.InputStream; > import javax.persistence.Column; > import javax.persistence.Entity; > import javax.persistence.Id; > import org.apache.openjpa.persistence.Persistent; > @Entity(name = "MAP_DATA") > public class MapData implements java.io.Serializable { > private static final long serialVersionUID = -3943302956720225992L; > public MapData() {} // Default constructor required by JPA. > @Id > @Column(name = "PRIM_KEY", columnDefinition="VARCHAR(91)") > private String primary_key = null; > public String getPrimaryKey() { return primary_key; } > public void setPrimaryKey(String primary_key) { this.primary_key = > primary_key; } > @Persistent //defaults: (fetch=FetchType.EAGER, embedded=true) > @Column(name = "DATA") > private InputStream data = null; > public void setData(InputStream data) { this.data = data; } > public InputStream getData() { return data; } > } > *** The following is the OpenJPA log when the database is created and when I > try inserting data into the table: > 0 SPE-ORACLE TRACE [main] openjpa.Runtime - Setting the following > properties from "jar:file:/C:/spe.jar!/META-INF/persistence.xml" into > configuration: > {javax.persistence.lock.timeout=30000,javax.persistence.jdbc.url=jdbc:oracle:thin:@myhost:1521/myDB,javax.persistence.jdbc.password=myPSW,javax.persistence.jdbc.user=myUser,javax.persistence.jdbc.driver=oracle.jdbc.OracleDriver,javax.persistence.validation.mode=NONE,openjpa.BrokerFactory=jdbc,openjpa.RuntimeUnenhancedClasses=unsupported,openjpa.ConnectionRetainMode=transaction,openjpa.InitializeEagerly=true,openjpa.Log=File=OpenJPA.log, > DefaultLevel=TRACE, Runtime=TRACE, Tool=TRACE, > SQL=TRACE,openjpa.ReadLockLevel=none,openjpa.Id=SPE-ORACLE,openjpa.jdbc.SynchronizeMappings=buildSchema,openjpa.DynamicEnhancementAgent=false,openjpa.Multithreaded=true,openjpa.MetaDataFactory=jpa(Types=com.spe.MapData),provider=org.apache.openjpa.persistence.PersistenceProviderImpl,PersistenceVersion=2.0,} > 16 SPE-ORACLE INFO [main] openjpa.Runtime - Starting OpenJPA 2.4.0 > 16 SPE-ORACLE TRACE [main] openjpa.Runtime - Properties: > javax.persistence.jdbc.driver: oracle.jdbc.OracleDriver > javax.persistence.jdbc.password: ****** > javax.persistence.jdbc.url: jdbc:oracle:thin:@myhost:1521/myDB > javax.persistence.jdbc.user: myUser > javax.persistence.lock.timeout: 30000 > javax.persistence.query.timeout: 0 > javax.persistence.sharedCache.mode: UNSPECIFIED > javax.persistence.validation.group.pre-persist: > javax.validation.groups.Default > javax.persistence.validation.group.pre-update: javax.validation.groups.Default > javax.persistence.validation.mode: NONE > openjpa.AutoClear: 0 > openjpa.AutoDetach: [] > openjpa.BrokerFactory: jdbc > openjpa.BrokerImpl: default > openjpa.CacheDistributionPolicy: default > openjpa.Callbacks: default > openjpa.ClassResolver: default > openjpa.Compatibility: default > openjpa.ConnectionFactoryMode: false > openjpa.ConnectionRetainMode: 1 > openjpa.DataCache: false > openjpa.DataCacheManager: default > openjpa.DataCacheTimeout: -1 > openjpa.DetachState: loaded > openjpa.DynamicDataStructs: false > openjpa.DynamicEnhancementAgent: false > openjpa.EntityManagerFactory: default > openjpa.FetchBatchSize: -1 > openjpa.FetchGroups: [default] > openjpa.FlushBeforeQueries: 0 > openjpa.Id: SPE-ORACLE > openjpa.IgnoreChanges: false > openjpa.InitializeEagerly: true > openjpa.InstrumentationManager: default > openjpa.InverseManager: false > openjpa.LifecycleEventManager: default > openjpa.LockManager: mixed > openjpa.Log: true(File=OpenJPA.log, DefaultLevel=TRACE, Runtime=TRACE, > Tool=TRACE, SQL=TRACE) > openjpa.ManagedRuntime: auto > openjpa.MaxFetchDepth: -1 > openjpa.MetaDataFactory=jpa(Types=com.spe.MapData), > openjpa.MetaDataRepository: default > openjpa.Multithreaded: true > openjpa.NontransactionalRead: true > openjpa.NontransactionalWrite: true > openjpa.Optimistic: true > openjpa.OptimizeIdCopy: false > openjpa.OrphanedKeyAction: log > openjpa.PostLoadOnMerge: false > openjpa.ProxyManager: default > openjpa.QueryCache: false > openjpa.QueryCompilationCache: true > openjpa.ReadLockLevel: 0 > openjpa.RefreshFromDataCache: false > openjpa.RestoreState: 1 > openjpa.RetainState: true > openjpa.RetryClassRegistration: false > openjpa.RuntimeUnenhancedClasses: 1 > openjpa.SavepointManager: in-mem > openjpa.Sequence: table > openjpa.TransactionMode: false > openjpa.WriteLockLevel: 20 > openjpa.jdbc.DriverDataSource: auto > openjpa.jdbc.EagerFetchMode: 2 > openjpa.jdbc.FetchDirection: 1000 > openjpa.jdbc.FinderCache: true > openjpa.jdbc.IdentifierUtil: default > openjpa.jdbc.LRSSize: 2 > openjpa.jdbc.MappingDefaults: jpa > openjpa.jdbc.QuerySQLCache: true > openjpa.jdbc.ResultSetType: 1003 > openjpa.jdbc.SQLFactory: default > openjpa.jdbc.SchemaFactory: dynamic > openjpa.jdbc.Schemas: [] > openjpa.jdbc.SubclassFetchMode: 1 > openjpa.jdbc.SynchronizeMappings: buildSchema > openjpa.jdbc.TransactionIsolation: -1 > openjpa.jdbc.UpdateManager: default > 31 SPE-ORACLE TRACE [main] openjpa.Runtime - No cache marshaller found for > id org.apache.openjpa.conf.MetaDataCacheMaintenance. > 78 SPE-ORACLE TRACE [main] openjpa.MetaData - Using metadata factory > "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@77c4f09a". > 94 SPE-ORACLE INFO [main] openjpa.jdbc.JDBC - Using dictionary class > "org.apache.openjpa.jdbc.sql.OracleDictionary". > 125 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - createConnectionFactory: > connectionFactory not created yet, attempt JNDI lookup... > 125 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - createConnectionFactory: > JNDI lookup failed, attempt DataSource properties... > 141 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - createConnectionFactory: > DataSource=org.apache.openjpa.jdbc.schema.AutoDriverDataSource@61260cf8 > 141 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - DataSource connection > setAutoCommit to "true" > 562 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - catalogSeparator: > catalogTerm: > databaseProductName: Oracle > databaseProductVersion: Oracle Database 12c Enterprise Edition Release > 12.1.0.1.0 - 64bit Production > With the Partitioning, OLAP, Advanced Analytics and Real Application Testing > options > driverName: Oracle JDBC driver > driverVersion: 12.1.0.2.0 > extraNameCharacters: $# > identifierQuoteString: " > numericFunctions: > ABS,ACOS,ASIN,ATAN,ATAN2,CEILING,COS,EXP,FLOOR,LOG,LOG10,MOD,PI,POWER,ROUND,SIGN,SIN,SQRT,TAN,TRUNCATE > procedureTerm: procedure > schemaTerm: schema > searchStringEscape: / > sqlKeywords: ACCESS, ADD, ALTER, AUDIT, CLUSTER, COLUMN, COMMENT, COMPRESS, > CONNECT, DATE, DROP, EXCLUSIVE, FILE, IDENTIFIED, IMMEDIATE, INCREMENT, > INDEX, INITIAL, INTERSECT, LEVEL, LOCK, LONG, MAXEXTENTS, MINUS, MODE, > NOAUDIT, NOCOMPRESS, NOWAIT, NUMBER, OFFLINE, ONLINE, PCTFREE, PRIOR, > all_PL_SQL_reserved_ words > stringFunctions: > ASCII,CHAR,CHAR_LENGTH,CHARACTER_LENGTH,CONCAT,LCASE,LENGTH,LTRIM,OCTET_LENGTH,REPLACE,RTRIM,SOUNDEX,SUBSTRING,UCASE > systemFunctions: USER > timeDateFunctions: > CURRENT_DATE,CURRENT_TIMESTAMP,CURDATE,EXTRACT,HOUR,MINUTE,MONTH,SECOND,YEAR > url: jdbc:oracle:thin:@myhost:1521/myDB > userName: MYUSER > defaultTransactionIsolation: 2 > driverMajorVersion: 12 > driverMinorVersion: 1 > maxBinaryLiteralLength: 1000 > maxCatalogNameLength: 0 > maxCharLiteralLength: 2000 > maxColumnNameLength: 30 > maxColumnsInGroupBy: 0 > maxColumnsInIndex: 32 > maxColumnsInOrderBy: 0 > maxColumnsInSelect: 0 > maxColumnsInTable: 1000 > maxConnections: 0 > maxCursorNameLength: 0 > maxIndexLength: 0 > maxProcedureNameLength: 30 > maxRowSize: 0 > maxSchemaNameLength: 30 > maxStatementLength: 65535 > maxStatements: 0 > maxTableNameLength: 30 > maxTablesInSelect: 0 > maxUserNameLength: 30 > isCatalogAtStart: false > isReadOnly: false > nullPlusNonNullIsNull: true > nullsAreSortedAtEnd: false > nullsAreSortedAtStart: false > nullsAreSortedHigh: false > nullsAreSortedLow: true > storesLowerCaseIdentifiers: false > storesLowerCaseQuotedIdentifiers: false > storesMixedCaseIdentifiers: false > storesMixedCaseQuotedIdentifiers: true > storesUpperCaseIdentifiers: true > storesUpperCaseQuotedIdentifiers: false > supportsAlterTableWithAddColumn: true > supportsAlterTableWithDropColumn: false > supportsANSI92EntryLevelSQL: true > supportsANSI92FullSQL: false > supportsANSI92IntermediateSQL: false > supportsCatalogsInDataManipulation: false > supportsCatalogsInIndexDefinitions: false > supportsCatalogsInPrivilegeDefinitions: false > supportsCatalogsInProcedureCalls: false > supportsCatalogsInTableDefinitions: false > supportsColumnAliasing: true > supportsConvert: false > supportsCoreSQLGrammar: true > supportsCorrelatedSubqueries: true > supportsDataDefinitionAndDataManipulationTransactions: true > supportsDataManipulationTransactionsOnly: true > supportsDifferentTableCorrelationNames: true > supportsExpressionsInOrderBy: true > supportsExtendedSQLGrammar: true > supportsFullOuterJoins: true > supportsGroupBy: true > supportsGroupByBeyondSelect: true > supportsGroupByUnrelated: true > supportsIntegrityEnhancementFacility: true > supportsLikeEscapeClause: true > supportsLimitedOuterJoins: true > supportsMinimumSQLGrammar: true > supportsMixedCaseIdentifiers: false > supportsMixedCaseQuotedIdentifiers: true > supportsMultipleResultSets: false > supportsMultipleTransactions: true > supportsNonNullableColumns: true > supportsOpenCursorsAcrossCommit: false > supportsOpenCursorsAcrossRollback: false > supportsOpenStatementsAcrossCommit: false > supportsOpenStatementsAcrossRollback: false > supportsOrderByUnrelated: true > supportsOuterJoins: true > supportsPositionedDelete: false > supportsPositionedUpdate: false > supportsSchemasInDataManipulation: true > supportsSchemasInIndexDefinitions: true > supportsSchemasInPrivilegeDefinitions: true > supportsSchemasInProcedureCalls: true > supportsSchemasInTableDefinitions: true > supportsSelectForUpdate: true > supportsStoredProcedures: true > supportsSubqueriesInComparisons: true > supportsSubqueriesInExists: true > supportsSubqueriesInIns: true > supportsSubqueriesInQuantifieds: true > supportsTableCorrelationNames: true > supportsTransactions: true > supportsUnion: true > supportsUnionAll: true > usesLocalFilePerTable: false > usesLocalFiles: false > allProceduresAreCallable: false > allTablesAreSelectable: false > dataDefinitionCausesTransactionCommit: true > dataDefinitionIgnoredInTransactions: false > doesMaxRowSizeIncludeBlobs: true > supportsBatchUpdates: true > 562 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - Initial connection > autoCommit: true, holdability: 1, TransactionIsolation: 2 > 562 SPE-ORACLE INFO [main] openjpa.jdbc.JDBC - Connected to Oracle > version 12.12 using JDBC driver Oracle JDBC driver version 12.1.0.2.0. > 562 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn 0> [0 > ms] close > 593 SPE-ORACLE TRACE [main] openjpa.MetaData - The persistent unit root > url is "null" > 593 SPE-ORACLE TRACE [main] openjpa.MetaData - parsePersistentTypeNames() > found [com.spe.MapData]. > 593 SPE-ORACLE TRACE [main] openjpa.MetaData - Found 1 class with metadata > in 0 milliseconds. > 640 SPE-ORACLE TRACE [main] openjpa.Runtime - No cache marshaller found > for id org.apache.openjpa.conf.MetaDataCacheMaintenance. > 640 SPE-ORACLE TRACE [main] openjpa.MetaData - Using metadata factory > "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@281dd8bd". > 640 SPE-ORACLE TRACE [main] openjpa.MetaData - The persistent unit root > url is "null" > 640 SPE-ORACLE TRACE [main] openjpa.MetaData - parsePersistentTypeNames() > found [com.spe.MapData]. > 640 SPE-ORACLE TRACE [main] openjpa.MetaData - Found 1 class with metadata > in 0 milliseconds. > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - Loading metadata for "class > com.spe.MapData" under mode "[META][QUERY]". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - Parsing class > "com.spe.MapData". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - Generating default metadata > for type "com.spe.MapData". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - Set persistence-capable > superclass of "com.spe.MapData" to "null". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving metadata for > "com.spe.MapData@2069029271". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field > "com.spe.mapd...@2069029271.data". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field > "com.spe.MapData@2069029271.primary_key". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - Preparing mapping for > "com.spe.MapData". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field > "com.spe.MapData@2069029271.primary_key". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - "primary_key" has > mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field > "com.spe.mapd...@2069029271.data". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - "data" has mapping > strategy "org.apache.openjpa.jdbc.meta.strats.LobFieldStrategy". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - > "com.spe.MapData<discriminator>" has mapping strategy "none". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - "com.spe.MapData<version>" > has mapping strategy "none". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving mapping for > "com.spe.MapData@2069029271". > 905 SPE-ORACLE TRACE [main] openjpa.MetaData - "com.spe.MapData" has > mapping strategy "full". > 999 SPE-ORACLE TRACE [main] openjpa.Runtime - Found datasource 2: null > from config. StoreContext: null > 999 SPE-ORACLE TRACE [main] openjpa.Runtime - Trying datasource1 > 999 SPE-ORACLE TRACE [main] openjpa.Runtime - Found datasource1: > datasource 1629883640 from configuration. StoreContext: null > 999 SPE-ORACLE TRACE [main] openjpa.Runtime - Found datasource 2: null > from config. StoreContext: null > 999 SPE-ORACLE TRACE [main] openjpa.Runtime - Trying datasource1 > 999 SPE-ORACLE TRACE [main] openjpa.Runtime - Found datasource1: > datasource 1629883640 from configuration. StoreContext: null > 1560 SPE-ORACLE TRACE [main] openjpa.jdbc.Schema - Reading table > information for schema name "null", table name "MAP_DATA". > 1560 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn > 364725217> getColumns: null, null, MAP_DATA, null > 1560 SPE-ORACLE TRACE [main] openjpa.jdbc.Schema - Reading sequence > information for schema "null", sequence name "null". > 1560 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn > 364725217> executing prepstmnt 198174945 SELECT SEQUENCE_OWNER AS > SEQUENCE_SCHEMA, SEQUENCE_NAME FROM ALL_SEQUENCES > 1576 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn > 364725217> [16 ms] spent > 1576 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn > 364725217> [0 ms] commit > 1888 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn > 364725217> executing stmnt -647276826 CREATE TABLE MAP_DATA (PRIM_KEY > VARCHAR(91) NOT NULL, DATA BLOB, PRIMARY KEY (PRIM_KEY)) > 1903 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn > 364725217> [15 ms] spent > 1903 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn > 364725217> [0 ms] commit > 1903 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn 0> [0 > ms] close > *** Database is initialized - tables are created - try writing to the table > using the following code **** > FileInputStream fis = null; > javax.persistence.EntityManagerFactory emf = null; > javax.persistence.EntityManager em = null; > try { > emf = > javax.persistence.Persistence.createEntityManagerFactory("SPE-ORACLE", > dbprops); > em = emf.createEntityManager(); > em.getTransaction().begin(); > fis = new FileInputStream("FileWithBinaryData"); > com.spe.MapData data = new com.spe.MapData(); > data.setPrimaryKey("ThePrimaryKey"); > data.setData(fis); > em.persist(data); > em.getTransaction().commit(); // ORA-01461: can bind a LONG value only > for insert into a LONG column > } catch (Throwable t) { > t.printStackTrace(); > if ( em != null && em.getTransaction().isActive() ) { > em.getTransaction().rollback(); > } > } finally { > if ( fis != null ) { > try { fis.close(); } > catch (Throwable t) { fis = null; } > } > if ( em != null ) { > try { em.close(); } > catch (Throwable t) { em = null; } > } > if ( emf != null ) { > try { emf.close(); } > catch (Throwable t) { emf = null; } > } > } > 2153 SPE-ORACLE TRACE [main] openjpa.Runtime - Found datasource1: > datasource 1629883640 from configuration. StoreContext: > org.apache.openjpa.kernel.FinalizingBrokerImpl@4c490911 > 2169 SPE-ORACLE TRACE [main] openjpa.Runtime - Not creating a > ValidatorImpl because ValidationMode=NONE > 2169 SPE-ORACLE TRACE [main] openjpa.Runtime - > org.apache.openjpa.persistence.PersistenceProviderImpl@71549c11 creating > org.apache.openjpa.persistence.EntityManagerFactoryImpl@3f2aa70c for PU > SPE-ORACLE. > 2169 SPE-ORACLE TRACE [main] openjpa.Runtime - Found datasource1: > datasource 1629883640 from configuration. StoreContext: > org.apache.openjpa.kernel.FinalizingBrokerImpl@45ddce08 > 2184 SPE-ORACLE TRACE [main] openjpa.Runtime - > org.apache.openjpa.persistence.EntityManagerFactoryImpl@3f2aa70c created > EntityManager org.apache.openjpa.persistence.EntityManagerImpl@45ddce08. > 2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Loading metadata for > "com.spe.MapData" under mode "[META][QUERY]". > 2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Parsing class > "com.spe.MapData". > 2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Parsing package > "com.spe.MapData". > 2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Generating default > metadata for type "com.spe.MapData". > 2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Set persistence-capable > superclass of "com.spe.MapData" to "null". > 2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving metadata for > "com.spe.MapData@-325576771". > 2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field > "com.spe.mapd...@-325576771.data". > 2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field > "com.spe.MapData@-325576771.primary_key". > 2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Preparing mapping for > "com.spe.MapData". > 2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Processing registered > persistence-capable class "class com.spe.MapData". > 2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field > "com.spe.MapData@-325576771.primary_key". > 2231 SPE-ORACLE TRACE [main] openjpa.MetaData - "primary_key" has > mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy". > 2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field > "com.spe.mapd...@-325576771.data". > 2231 SPE-ORACLE TRACE [main] openjpa.MetaData - "data" has mapping > strategy "org.apache.openjpa.jdbc.meta.strats.LobFieldStrategy". > 2231 SPE-ORACLE TRACE [main] openjpa.MetaData - > "com.spe.MapData<discriminator>" has mapping strategy "none". > 2231 SPE-ORACLE TRACE [main] openjpa.MetaData - "com.spe.MapData<version>" > has mapping strategy "none". > 2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving mapping for > "com.spe.MapData@-325576771". > 2231 SPE-ORACLE TRACE [main] openjpa.MetaData - "com.spe.MapData" has > mapping strategy "full". > 2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Initializing mapping for > "com.spe.MapData@-325576771". > 2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field > "com.spe.mapd...@-325576771.data". > 2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field > "com.spe.MapData@-325576771.primary_key". > 2262 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - The batch limit is set to > 100. > 2262 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn > -501987456> executing prepstmnt 1948302342 INSERT INTO MAP_DATA (PRIM_KEY, > DATA) VALUES (?, ?) [params=?, ?] > 2278 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn > -501987456> [16 ms] spent > 2278 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn > -501987456> executing prepstmnt 185125288 SELECT t0.DATA, t0.PRIM_KEY FROM > MAP_DATA t0 WHERE t0.PRIM_KEY = ? FOR UPDATE [params=?] > 2293 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn > -501987456> [15 ms] spent > 2325 SPE-ORACLE TRACE [main] openjpa.Runtime - An exception occurred while > ending the transaction. This exception will be > re-thrown.<openjpa-2.4.0-r422266:1674604 fatal store error> > org.apache.openjpa.util.StoreException: The transaction has been rolled back. > See the nested exceptions for details on the errors that occurred. > at > org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2368) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2205) > at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2103) > at > org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:2021) > at > org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81) > at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1526) > at > org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:932) > at > org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:569) > at com.spe.MyTest.test(MyTest.java:335) > Caused by: <openjpa-2.4.0-r422266:1674604 fatal store error> > org.apache.openjpa.util.LockException: Unable to obtain an object lock on > "null". > at > org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4983) > at > org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4961) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:133) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:107) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:59) > at > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:120) > at > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:77) > at > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:731) > at > org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:131) > ... 14 more > Caused by: java.sql.SQLException: ORA-01461: can bind a LONG value only for > insert into a LONG column > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450) > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399) > at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059) > at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522) > at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257) > at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587) > at > oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:225) > at > oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:53) > at > oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:943) > at > oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1150) > at > oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4798) > at > oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:4875) > at > oracle.jdbc.driver.UpdatableResultSet.executeUpdateRow(UpdatableResultSet.java:1432) > at > oracle.jdbc.driver.UpdatableResultSet.updateRow(UpdatableResultSet.java:828) > at > org.apache.commons.dbcp.DelegatingResultSet.updateRow(DelegatingResultSet.java:526) > at > org.apache.commons.dbcp.DelegatingResultSet.updateRow(DelegatingResultSet.java:526) > at > org.apache.openjpa.lib.jdbc.DelegatingResultSet.updateRow(DelegatingResultSet.java:551) > at > org.apache.openjpa.jdbc.sql.DBDictionary.updateBlob(DBDictionary.java:5123) > at > org.apache.openjpa.jdbc.meta.strats.LobFieldStrategy.customInsert(LobFieldStrategy.java:117) > at > org.apache.openjpa.jdbc.meta.FieldMapping.customInsert(FieldMapping.java:818) > at > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager$CustomMapping.execute(AbstractUpdateManager.java:434) > at > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:118) > ... 17 more > 2325 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn > -501987456> [0 ms] rollback > 2325 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn 0> [0 > ms] close > 2325 SPE-ORACLE TRACE [main] openjpa.Runtime - An exception occurred while > ending the transaction. This exception will be > re-thrown.<openjpa-2.4.0-r422266:1674604 fatal store error> > org.apache.openjpa.util.StoreException: The transaction has been rolled back. > See the nested exceptions for details on the errors that occurred. > at > org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2368) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2205) > at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2103) > at > org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:2021) > at > org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81) > at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1526) > at > org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:932) > at > org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:569) > at com.spe.MyTest.test(MyTest.java:335) > Caused by: <openjpa-2.4.0-r422266:1674604 fatal store error> > org.apache.openjpa.util.LockException: Unable to obtain an object lock on > "null". > at > org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4983) > at > org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4961) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:133) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:107) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:59) > at > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:120) > at > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:77) > at > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:731) > at > org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:131) > ... 14 more > Caused by: java.sql.SQLException: ORA-01461: can bind a LONG value only for > insert into a LONG column > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450) > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399) > at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059) > at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522) > at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257) > at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587) > at > oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:225) > at > oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:53) > at > oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:943) > at > oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1150) > at > oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4798) > at > oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:4875) > at > oracle.jdbc.driver.UpdatableResultSet.executeUpdateRow(UpdatableResultSet.java:1432) > at > oracle.jdbc.driver.UpdatableResultSet.updateRow(UpdatableResultSet.java:828) > at > org.apache.commons.dbcp.DelegatingResultSet.updateRow(DelegatingResultSet.java:526) > at > org.apache.commons.dbcp.DelegatingResultSet.updateRow(DelegatingResultSet.java:526) > at > org.apache.openjpa.lib.jdbc.DelegatingResultSet.updateRow(DelegatingResultSet.java:551) > at > org.apache.openjpa.jdbc.sql.DBDictionary.updateBlob(DBDictionary.java:5123) > at > org.apache.openjpa.jdbc.meta.strats.LobFieldStrategy.customInsert(LobFieldStrategy.java:117) > at > org.apache.openjpa.jdbc.meta.FieldMapping.customInsert(FieldMapping.java:818) > at > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager$CustomMapping.execute(AbstractUpdateManager.java:434) > at > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:118) > ... 17 more > 2325 SPE-ORACLE TRACE [main] openjpa.Runtime - > org.apache.openjpa.persistence.EntityManagerImpl@45ddce08.close() invoked. > 2325 SPE-ORACLE TRACE [main] openjpa.Runtime - > org.apache.openjpa.persistence.EntityManagerFactoryImpl@3f2aa70c.close() > invoked. > 2325 SPE-ORACLE TRACE [main] openjpa.MetaData - Clearing metadata > repository "org.apache.openjpa.jdbc.meta.MappingRepository@4cf36052". > *** Just in case this is needed, the following is the persistence.xml used > with the above > <?xml version="1.0" encoding="UTF-8"?> > <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence > http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> > <persistence-unit name="SPE-ORACLE"> > <class>com.spe.MapData</class> > </persistence-unit> > </persistence> -- This message was sent by Atlassian JIRA (v6.3.4#6332)