You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Gary Shank (JIRA)" <ji...@apache.org> on 2016/09/08 11:18:20 UTC
[jira] [Resolved] (OPENJPA-2661) Oracle ojdbc7.jar version 12.1.0.2
causes ORA-01461: can bind a LONG value only for insert into a LONG column
[ 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.MapData@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.MapData@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.MapData@-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.MapData@-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.MapData@-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)