[ 
https://issues.apache.org/jira/browse/OPENJPA-2661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15474329#comment-15474329
 ] 

Mark Struberg commented on OPENJPA-2661:
----------------------------------------

Thanks for the feedback!


> 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)

Reply via email to