You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Mark Struberg (JIRA)" <ji...@apache.org> on 2016/09/08 16:29:21 UTC

[jira] [Commented] (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: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.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)