[
https://issues.apache.org/jira/browse/OPENJPA-2661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15611771#comment-15611771
]
Gary Shank commented on OPENJPA-2661:
-------------------------------------
You have to have an Oracle My Support account to get to this link:
https://support.oracle.com/epmos/faces/BugMatrix?_afrLoop=448044231041297&id=22385253&_afrWindowMode=0&_adf.ctrl-state=vnza8lilp_203
If you can get to that link, you then have to find the appropriate patch under
"Patches related to Bug 22385253". For me, it was the 4th link which patches
Oracle 12.1.0.2.0 and downloaded p22385253_121020_Generic.zip
Hope that helps.
Gary
> 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)