Gary Shank created OPENJPA-2661:
-----------------------------------

             Summary: 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 
"[email protected]".
905  SPE-ORACLE  TRACE  [main] openjpa.MetaData -       Resolving field 
"[email protected]_key".
905  SPE-ORACLE  TRACE  [main] openjpa.MetaData - Preparing mapping for 
"com.spe.MapData".
905  SPE-ORACLE  TRACE  [main] openjpa.MetaData -       Resolving field 
"[email protected]_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 
"[email protected]".
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 
"[email protected]".
2215  SPE-ORACLE  TRACE  [main] openjpa.MetaData -      Resolving field 
"[email protected]_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 
"[email protected]_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 
"[email protected]".
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 
"[email protected]".
2231  SPE-ORACLE  TRACE  [main] openjpa.MetaData -      Resolving field 
"[email protected]_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 - 
[email protected]() 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)

Reply via email to