Gary Shank created OPENJPA-2661:
-----------------------------------
Summary: Oracle ojdbc7.jar version 12.1.0.2 causes ORA-01461: can
bind a LONG value only for insert into a LONG column
Key: OPENJPA-2661
URL: https://issues.apache.org/jira/browse/OPENJPA-2661
Project: OpenJPA
Issue Type: Question
Reporter: Gary Shank
I've seen similar issues to this but they are resolved (OPENJPA-1691 and
OPENJPA-1839) but this version of the Oracle ojdbc7.jar is very new and is
causing a problem. I'm hoping its an Oracle issue and not an OpenJPA issue. I
do not have a problem if I use earlier versions of that jar (12.1.0.1 or
earlier). Anyone else seen this issue with the new Oracle driver? Any
thoughts on whether it is an Oracle issue or OpenJPA issue? Below are the
specifics:
I have the following JPA class which has been working for years with Oracle 11g
and now Oracle 12c using OpenJPA starting
with openjpa-all-2.2.1.jar and currently with openjpa-all-2.4.0.jar (plus I
tried the newest openjpa-all-2.4.1.jar).
import java.io.InputStream;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import org.apache.openjpa.persistence.Persistent;
@Entity(name = "MAP_DATA")
public class MapData implements java.io.Serializable {
private static final long serialVersionUID = -3943302956720225992L;
public MapData() {} // Default constructor required by JPA.
@Id
@Column(name = "PRIM_KEY", columnDefinition="VARCHAR(91)")
private String primary_key = null;
public String getPrimaryKey() { return primary_key; }
public void setPrimaryKey(String primary_key) { this.primary_key =
primary_key; }
@Persistent //defaults: (fetch=FetchType.EAGER, embedded=true)
@Column(name = "DATA")
private InputStream data = null;
public void setData(InputStream data) { this.data = data; }
public InputStream getData() { return data; }
}
*** The following is the OpenJPA log when the database is created and when I
try inserting data into the table:
0 SPE-ORACLE TRACE [main] openjpa.Runtime - Setting the following properties
from "jar:file:/C:/spe.jar!/META-INF/persistence.xml" into configuration:
{javax.persistence.lock.timeout=30000,javax.persistence.jdbc.url=jdbc:oracle:thin:@myhost:1521/myDB,javax.persistence.jdbc.password=myPSW,javax.persistence.jdbc.user=myUser,javax.persistence.jdbc.driver=oracle.jdbc.OracleDriver,javax.persistence.validation.mode=NONE,openjpa.BrokerFactory=jdbc,openjpa.RuntimeUnenhancedClasses=unsupported,openjpa.ConnectionRetainMode=transaction,openjpa.InitializeEagerly=true,openjpa.Log=File=OpenJPA.log,
DefaultLevel=TRACE, Runtime=TRACE, Tool=TRACE,
SQL=TRACE,openjpa.ReadLockLevel=none,openjpa.Id=SPE-ORACLE,openjpa.jdbc.SynchronizeMappings=buildSchema,openjpa.DynamicEnhancementAgent=false,openjpa.Multithreaded=true,openjpa.MetaDataFactory=jpa(Types=com.spe.MapData),provider=org.apache.openjpa.persistence.PersistenceProviderImpl,PersistenceVersion=2.0,}
16 SPE-ORACLE INFO [main] openjpa.Runtime - Starting OpenJPA 2.4.0
16 SPE-ORACLE TRACE [main] openjpa.Runtime - Properties:
javax.persistence.jdbc.driver: oracle.jdbc.OracleDriver
javax.persistence.jdbc.password: ******
javax.persistence.jdbc.url: jdbc:oracle:thin:@myhost:1521/myDB
javax.persistence.jdbc.user: myUser
javax.persistence.lock.timeout: 30000
javax.persistence.query.timeout: 0
javax.persistence.sharedCache.mode: UNSPECIFIED
javax.persistence.validation.group.pre-persist: javax.validation.groups.Default
javax.persistence.validation.group.pre-update: javax.validation.groups.Default
javax.persistence.validation.mode: NONE
openjpa.AutoClear: 0
openjpa.AutoDetach: []
openjpa.BrokerFactory: jdbc
openjpa.BrokerImpl: default
openjpa.CacheDistributionPolicy: default
openjpa.Callbacks: default
openjpa.ClassResolver: default
openjpa.Compatibility: default
openjpa.ConnectionFactoryMode: false
openjpa.ConnectionRetainMode: 1
openjpa.DataCache: false
openjpa.DataCacheManager: default
openjpa.DataCacheTimeout: -1
openjpa.DetachState: loaded
openjpa.DynamicDataStructs: false
openjpa.DynamicEnhancementAgent: false
openjpa.EntityManagerFactory: default
openjpa.FetchBatchSize: -1
openjpa.FetchGroups: [default]
openjpa.FlushBeforeQueries: 0
openjpa.Id: SPE-ORACLE
openjpa.IgnoreChanges: false
openjpa.InitializeEagerly: true
openjpa.InstrumentationManager: default
openjpa.InverseManager: false
openjpa.LifecycleEventManager: default
openjpa.LockManager: mixed
openjpa.Log: true(File=OpenJPA.log, DefaultLevel=TRACE, Runtime=TRACE,
Tool=TRACE, SQL=TRACE)
openjpa.ManagedRuntime: auto
openjpa.MaxFetchDepth: -1
openjpa.MetaDataFactory=jpa(Types=com.spe.MapData),
openjpa.MetaDataRepository: default
openjpa.Multithreaded: true
openjpa.NontransactionalRead: true
openjpa.NontransactionalWrite: true
openjpa.Optimistic: true
openjpa.OptimizeIdCopy: false
openjpa.OrphanedKeyAction: log
openjpa.PostLoadOnMerge: false
openjpa.ProxyManager: default
openjpa.QueryCache: false
openjpa.QueryCompilationCache: true
openjpa.ReadLockLevel: 0
openjpa.RefreshFromDataCache: false
openjpa.RestoreState: 1
openjpa.RetainState: true
openjpa.RetryClassRegistration: false
openjpa.RuntimeUnenhancedClasses: 1
openjpa.SavepointManager: in-mem
openjpa.Sequence: table
openjpa.TransactionMode: false
openjpa.WriteLockLevel: 20
openjpa.jdbc.DriverDataSource: auto
openjpa.jdbc.EagerFetchMode: 2
openjpa.jdbc.FetchDirection: 1000
openjpa.jdbc.FinderCache: true
openjpa.jdbc.IdentifierUtil: default
openjpa.jdbc.LRSSize: 2
openjpa.jdbc.MappingDefaults: jpa
openjpa.jdbc.QuerySQLCache: true
openjpa.jdbc.ResultSetType: 1003
openjpa.jdbc.SQLFactory: default
openjpa.jdbc.SchemaFactory: dynamic
openjpa.jdbc.Schemas: []
openjpa.jdbc.SubclassFetchMode: 1
openjpa.jdbc.SynchronizeMappings: buildSchema
openjpa.jdbc.TransactionIsolation: -1
openjpa.jdbc.UpdateManager: default
31 SPE-ORACLE TRACE [main] openjpa.Runtime - No cache marshaller found for
id org.apache.openjpa.conf.MetaDataCacheMaintenance.
78 SPE-ORACLE TRACE [main] openjpa.MetaData - Using metadata factory
"org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@77c4f09a".
94 SPE-ORACLE INFO [main] openjpa.jdbc.JDBC - Using dictionary class
"org.apache.openjpa.jdbc.sql.OracleDictionary".
125 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - createConnectionFactory:
connectionFactory not created yet, attempt JNDI lookup...
125 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - createConnectionFactory:
JNDI lookup failed, attempt DataSource properties...
141 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - createConnectionFactory:
DataSource=org.apache.openjpa.jdbc.schema.AutoDriverDataSource@61260cf8
141 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - DataSource connection
setAutoCommit to "true"
562 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - catalogSeparator:
catalogTerm:
databaseProductName: Oracle
databaseProductVersion: Oracle Database 12c Enterprise Edition Release
12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing
options
driverName: Oracle JDBC driver
driverVersion: 12.1.0.2.0
extraNameCharacters: $#
identifierQuoteString: "
numericFunctions:
ABS,ACOS,ASIN,ATAN,ATAN2,CEILING,COS,EXP,FLOOR,LOG,LOG10,MOD,PI,POWER,ROUND,SIGN,SIN,SQRT,TAN,TRUNCATE
procedureTerm: procedure
schemaTerm: schema
searchStringEscape: /
sqlKeywords: ACCESS, ADD, ALTER, AUDIT, CLUSTER, COLUMN, COMMENT, COMPRESS,
CONNECT, DATE, DROP, EXCLUSIVE, FILE, IDENTIFIED, IMMEDIATE, INCREMENT, INDEX,
INITIAL, INTERSECT, LEVEL, LOCK, LONG, MAXEXTENTS, MINUS, MODE, NOAUDIT,
NOCOMPRESS, NOWAIT, NUMBER, OFFLINE, ONLINE, PCTFREE, PRIOR,
all_PL_SQL_reserved_ words
stringFunctions:
ASCII,CHAR,CHAR_LENGTH,CHARACTER_LENGTH,CONCAT,LCASE,LENGTH,LTRIM,OCTET_LENGTH,REPLACE,RTRIM,SOUNDEX,SUBSTRING,UCASE
systemFunctions: USER
timeDateFunctions:
CURRENT_DATE,CURRENT_TIMESTAMP,CURDATE,EXTRACT,HOUR,MINUTE,MONTH,SECOND,YEAR
url: jdbc:oracle:thin:@myhost:1521/myDB
userName: MYUSER
defaultTransactionIsolation: 2
driverMajorVersion: 12
driverMinorVersion: 1
maxBinaryLiteralLength: 1000
maxCatalogNameLength: 0
maxCharLiteralLength: 2000
maxColumnNameLength: 30
maxColumnsInGroupBy: 0
maxColumnsInIndex: 32
maxColumnsInOrderBy: 0
maxColumnsInSelect: 0
maxColumnsInTable: 1000
maxConnections: 0
maxCursorNameLength: 0
maxIndexLength: 0
maxProcedureNameLength: 30
maxRowSize: 0
maxSchemaNameLength: 30
maxStatementLength: 65535
maxStatements: 0
maxTableNameLength: 30
maxTablesInSelect: 0
maxUserNameLength: 30
isCatalogAtStart: false
isReadOnly: false
nullPlusNonNullIsNull: true
nullsAreSortedAtEnd: false
nullsAreSortedAtStart: false
nullsAreSortedHigh: false
nullsAreSortedLow: true
storesLowerCaseIdentifiers: false
storesLowerCaseQuotedIdentifiers: false
storesMixedCaseIdentifiers: false
storesMixedCaseQuotedIdentifiers: true
storesUpperCaseIdentifiers: true
storesUpperCaseQuotedIdentifiers: false
supportsAlterTableWithAddColumn: true
supportsAlterTableWithDropColumn: false
supportsANSI92EntryLevelSQL: true
supportsANSI92FullSQL: false
supportsANSI92IntermediateSQL: false
supportsCatalogsInDataManipulation: false
supportsCatalogsInIndexDefinitions: false
supportsCatalogsInPrivilegeDefinitions: false
supportsCatalogsInProcedureCalls: false
supportsCatalogsInTableDefinitions: false
supportsColumnAliasing: true
supportsConvert: false
supportsCoreSQLGrammar: true
supportsCorrelatedSubqueries: true
supportsDataDefinitionAndDataManipulationTransactions: true
supportsDataManipulationTransactionsOnly: true
supportsDifferentTableCorrelationNames: true
supportsExpressionsInOrderBy: true
supportsExtendedSQLGrammar: true
supportsFullOuterJoins: true
supportsGroupBy: true
supportsGroupByBeyondSelect: true
supportsGroupByUnrelated: true
supportsIntegrityEnhancementFacility: true
supportsLikeEscapeClause: true
supportsLimitedOuterJoins: true
supportsMinimumSQLGrammar: true
supportsMixedCaseIdentifiers: false
supportsMixedCaseQuotedIdentifiers: true
supportsMultipleResultSets: false
supportsMultipleTransactions: true
supportsNonNullableColumns: true
supportsOpenCursorsAcrossCommit: false
supportsOpenCursorsAcrossRollback: false
supportsOpenStatementsAcrossCommit: false
supportsOpenStatementsAcrossRollback: false
supportsOrderByUnrelated: true
supportsOuterJoins: true
supportsPositionedDelete: false
supportsPositionedUpdate: false
supportsSchemasInDataManipulation: true
supportsSchemasInIndexDefinitions: true
supportsSchemasInPrivilegeDefinitions: true
supportsSchemasInProcedureCalls: true
supportsSchemasInTableDefinitions: true
supportsSelectForUpdate: true
supportsStoredProcedures: true
supportsSubqueriesInComparisons: true
supportsSubqueriesInExists: true
supportsSubqueriesInIns: true
supportsSubqueriesInQuantifieds: true
supportsTableCorrelationNames: true
supportsTransactions: true
supportsUnion: true
supportsUnionAll: true
usesLocalFilePerTable: false
usesLocalFiles: false
allProceduresAreCallable: false
allTablesAreSelectable: false
dataDefinitionCausesTransactionCommit: true
dataDefinitionIgnoredInTransactions: false
doesMaxRowSizeIncludeBlobs: true
supportsBatchUpdates: true
562 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - Initial connection
autoCommit: true, holdability: 1, TransactionIsolation: 2
562 SPE-ORACLE INFO [main] openjpa.jdbc.JDBC - Connected to Oracle version
12.12 using JDBC driver Oracle JDBC driver version 12.1.0.2.0.
562 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn 0> [0 ms]
close
593 SPE-ORACLE TRACE [main] openjpa.MetaData - The persistent unit root url
is "null"
593 SPE-ORACLE TRACE [main] openjpa.MetaData - parsePersistentTypeNames()
found [com.spe.MapData].
593 SPE-ORACLE TRACE [main] openjpa.MetaData - Found 1 class with metadata
in 0 milliseconds.
640 SPE-ORACLE TRACE [main] openjpa.Runtime - No cache marshaller found for
id org.apache.openjpa.conf.MetaDataCacheMaintenance.
640 SPE-ORACLE TRACE [main] openjpa.MetaData - Using metadata factory
"org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@281dd8bd".
640 SPE-ORACLE TRACE [main] openjpa.MetaData - The persistent unit root url
is "null"
640 SPE-ORACLE TRACE [main] openjpa.MetaData - parsePersistentTypeNames()
found [com.spe.MapData].
640 SPE-ORACLE TRACE [main] openjpa.MetaData - Found 1 class with metadata
in 0 milliseconds.
905 SPE-ORACLE TRACE [main] openjpa.MetaData - Loading metadata for "class
com.spe.MapData" under mode "[META][QUERY]".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - Parsing class
"com.spe.MapData".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - Generating default metadata
for type "com.spe.MapData".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - Set persistence-capable
superclass of "com.spe.MapData" to "null".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving metadata for
"com.spe.MapData@2069029271".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field
"[email protected]".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field
"[email protected]_key".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - Preparing mapping for
"com.spe.MapData".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field
"[email protected]_key".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - "primary_key" has
mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field
"[email protected]".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - "data" has mapping
strategy "org.apache.openjpa.jdbc.meta.strats.LobFieldStrategy".
905 SPE-ORACLE TRACE [main] openjpa.MetaData -
"com.spe.MapData<discriminator>" has mapping strategy "none".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - "com.spe.MapData<version>"
has mapping strategy "none".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving mapping for
"com.spe.MapData@2069029271".
905 SPE-ORACLE TRACE [main] openjpa.MetaData - "com.spe.MapData" has mapping
strategy "full".
999 SPE-ORACLE TRACE [main] openjpa.Runtime - Found datasource 2: null from
config. StoreContext: null
999 SPE-ORACLE TRACE [main] openjpa.Runtime - Trying datasource1
999 SPE-ORACLE TRACE [main] openjpa.Runtime - Found datasource1: datasource
1629883640 from configuration. StoreContext: null
999 SPE-ORACLE TRACE [main] openjpa.Runtime - Found datasource 2: null from
config. StoreContext: null
999 SPE-ORACLE TRACE [main] openjpa.Runtime - Trying datasource1
999 SPE-ORACLE TRACE [main] openjpa.Runtime - Found datasource1: datasource
1629883640 from configuration. StoreContext: null
1560 SPE-ORACLE TRACE [main] openjpa.jdbc.Schema - Reading table information
for schema name "null", table name "MAP_DATA".
1560 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn
364725217> getColumns: null, null, MAP_DATA, null
1560 SPE-ORACLE TRACE [main] openjpa.jdbc.Schema - Reading sequence
information for schema "null", sequence name "null".
1560 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn
364725217> executing prepstmnt 198174945 SELECT SEQUENCE_OWNER AS
SEQUENCE_SCHEMA, SEQUENCE_NAME FROM ALL_SEQUENCES
1576 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn
364725217> [16 ms] spent
1576 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn
364725217> [0 ms] commit
1888 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn
364725217> executing stmnt -647276826 CREATE TABLE MAP_DATA (PRIM_KEY
VARCHAR(91) NOT NULL, DATA BLOB, PRIMARY KEY (PRIM_KEY))
1903 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn
364725217> [15 ms] spent
1903 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn
364725217> [0 ms] commit
1903 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn 0> [0
ms] close
*** Database is initialized - tables are created - try writing to the table
using the following code ****
FileInputStream fis = null;
javax.persistence.EntityManagerFactory emf = null;
javax.persistence.EntityManager em = null;
try {
emf =
javax.persistence.Persistence.createEntityManagerFactory("SPE-ORACLE", dbprops);
em = emf.createEntityManager();
em.getTransaction().begin();
fis = new FileInputStream("FileWithBinaryData");
com.spe.MapData data = new com.spe.MapData();
data.setPrimaryKey("ThePrimaryKey");
data.setData(fis);
em.persist(data);
em.getTransaction().commit(); // ORA-01461: can bind a LONG value only
for insert into a LONG column
} catch (Throwable t) {
t.printStackTrace();
if ( em != null && em.getTransaction().isActive() ) {
em.getTransaction().rollback();
}
} finally {
if ( fis != null ) {
try { fis.close(); }
catch (Throwable t) { fis = null; }
}
if ( em != null ) {
try { em.close(); }
catch (Throwable t) { em = null; }
}
if ( emf != null ) {
try { emf.close(); }
catch (Throwable t) { emf = null; }
}
}
2153 SPE-ORACLE TRACE [main] openjpa.Runtime - Found datasource1: datasource
1629883640 from configuration. StoreContext:
org.apache.openjpa.kernel.FinalizingBrokerImpl@4c490911
2169 SPE-ORACLE TRACE [main] openjpa.Runtime - Not creating a ValidatorImpl
because ValidationMode=NONE
2169 SPE-ORACLE TRACE [main] openjpa.Runtime -
org.apache.openjpa.persistence.PersistenceProviderImpl@71549c11 creating
org.apache.openjpa.persistence.EntityManagerFactoryImpl@3f2aa70c for PU
SPE-ORACLE.
2169 SPE-ORACLE TRACE [main] openjpa.Runtime - Found datasource1: datasource
1629883640 from configuration. StoreContext:
org.apache.openjpa.kernel.FinalizingBrokerImpl@45ddce08
2184 SPE-ORACLE TRACE [main] openjpa.Runtime -
org.apache.openjpa.persistence.EntityManagerFactoryImpl@3f2aa70c created
EntityManager org.apache.openjpa.persistence.EntityManagerImpl@45ddce08.
2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Loading metadata for
"com.spe.MapData" under mode "[META][QUERY]".
2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Parsing class
"com.spe.MapData".
2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Parsing package
"com.spe.MapData".
2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Generating default metadata
for type "com.spe.MapData".
2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Set persistence-capable
superclass of "com.spe.MapData" to "null".
2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving metadata for
"com.spe.MapData@-325576771".
2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field
"[email protected]".
2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field
"[email protected]_key".
2215 SPE-ORACLE TRACE [main] openjpa.MetaData - Preparing mapping for
"com.spe.MapData".
2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Processing registered
persistence-capable class "class com.spe.MapData".
2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field
"[email protected]_key".
2231 SPE-ORACLE TRACE [main] openjpa.MetaData - "primary_key" has
mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field
"[email protected]".
2231 SPE-ORACLE TRACE [main] openjpa.MetaData - "data" has mapping
strategy "org.apache.openjpa.jdbc.meta.strats.LobFieldStrategy".
2231 SPE-ORACLE TRACE [main] openjpa.MetaData -
"com.spe.MapData<discriminator>" has mapping strategy "none".
2231 SPE-ORACLE TRACE [main] openjpa.MetaData - "com.spe.MapData<version>"
has mapping strategy "none".
2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving mapping for
"com.spe.MapData@-325576771".
2231 SPE-ORACLE TRACE [main] openjpa.MetaData - "com.spe.MapData" has
mapping strategy "full".
2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Initializing mapping for
"com.spe.MapData@-325576771".
2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field
"[email protected]".
2231 SPE-ORACLE TRACE [main] openjpa.MetaData - Resolving field
"[email protected]_key".
2262 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - The batch limit is set to
100.
2262 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn
-501987456> executing prepstmnt 1948302342 INSERT INTO MAP_DATA (PRIM_KEY,
DATA) VALUES (?, ?) [params=?, ?]
2278 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn
-501987456> [16 ms] spent
2278 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn
-501987456> executing prepstmnt 185125288 SELECT t0.DATA, t0.PRIM_KEY FROM
MAP_DATA t0 WHERE t0.PRIM_KEY = ? FOR UPDATE [params=?]
2293 SPE-ORACLE TRACE [main] openjpa.jdbc.SQL - <t 220335293, conn
-501987456> [15 ms] spent
2325 SPE-ORACLE TRACE [main] openjpa.Runtime - An exception occurred while
ending the transaction. This exception will be
re-thrown.<openjpa-2.4.0-r422266:1674604 fatal store error>
org.apache.openjpa.util.StoreException: The transaction has been rolled back.
See the nested exceptions for details on the errors that occurred.
at
org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2368)
at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2205)
at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2103)
at
org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:2021)
at
org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1526)
at
org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:932)
at
org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:569)
at com.spe.MyTest.test(MyTest.java:335)
Caused by: <openjpa-2.4.0-r422266:1674604 fatal store error>
org.apache.openjpa.util.LockException: Unable to obtain an object lock on
"null".
at
org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4983)
at
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4961)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:133)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:107)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:59)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:120)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:77)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:731)
at
org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:131)
... 14 more
Caused by: java.sql.SQLException: ORA-01461: can bind a LONG value only for
insert into a LONG column
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
at
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:225)
at
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:53)
at
oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:943)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1150)
at
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4798)
at
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:4875)
at
oracle.jdbc.driver.UpdatableResultSet.executeUpdateRow(UpdatableResultSet.java:1432)
at
oracle.jdbc.driver.UpdatableResultSet.updateRow(UpdatableResultSet.java:828)
at
org.apache.commons.dbcp.DelegatingResultSet.updateRow(DelegatingResultSet.java:526)
at
org.apache.commons.dbcp.DelegatingResultSet.updateRow(DelegatingResultSet.java:526)
at
org.apache.openjpa.lib.jdbc.DelegatingResultSet.updateRow(DelegatingResultSet.java:551)
at
org.apache.openjpa.jdbc.sql.DBDictionary.updateBlob(DBDictionary.java:5123)
at
org.apache.openjpa.jdbc.meta.strats.LobFieldStrategy.customInsert(LobFieldStrategy.java:117)
at
org.apache.openjpa.jdbc.meta.FieldMapping.customInsert(FieldMapping.java:818)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager$CustomMapping.execute(AbstractUpdateManager.java:434)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:118)
... 17 more
2325 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn
-501987456> [0 ms] rollback
2325 SPE-ORACLE TRACE [main] openjpa.jdbc.JDBC - <t 220335293, conn 0> [0
ms] close
2325 SPE-ORACLE TRACE [main] openjpa.Runtime - An exception occurred while
ending the transaction. This exception will be
re-thrown.<openjpa-2.4.0-r422266:1674604 fatal store error>
org.apache.openjpa.util.StoreException: The transaction has been rolled back.
See the nested exceptions for details on the errors that occurred.
at
org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2368)
at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2205)
at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2103)
at
org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:2021)
at
org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1526)
at
org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:932)
at
org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:569)
at com.spe.MyTest.test(MyTest.java:335)
Caused by: <openjpa-2.4.0-r422266:1674604 fatal store error>
org.apache.openjpa.util.LockException: Unable to obtain an object lock on
"null".
at
org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4983)
at
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4961)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:133)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:107)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:59)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:120)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:77)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:731)
at
org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:131)
... 14 more
Caused by: java.sql.SQLException: ORA-01461: can bind a LONG value only for
insert into a LONG column
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
at
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:225)
at
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:53)
at
oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:943)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1150)
at
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4798)
at
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:4875)
at
oracle.jdbc.driver.UpdatableResultSet.executeUpdateRow(UpdatableResultSet.java:1432)
at
oracle.jdbc.driver.UpdatableResultSet.updateRow(UpdatableResultSet.java:828)
at
org.apache.commons.dbcp.DelegatingResultSet.updateRow(DelegatingResultSet.java:526)
at
org.apache.commons.dbcp.DelegatingResultSet.updateRow(DelegatingResultSet.java:526)
at
org.apache.openjpa.lib.jdbc.DelegatingResultSet.updateRow(DelegatingResultSet.java:551)
at
org.apache.openjpa.jdbc.sql.DBDictionary.updateBlob(DBDictionary.java:5123)
at
org.apache.openjpa.jdbc.meta.strats.LobFieldStrategy.customInsert(LobFieldStrategy.java:117)
at
org.apache.openjpa.jdbc.meta.FieldMapping.customInsert(FieldMapping.java:818)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager$CustomMapping.execute(AbstractUpdateManager.java:434)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:118)
... 17 more
2325 SPE-ORACLE TRACE [main] openjpa.Runtime -
[email protected]() invoked.
2325 SPE-ORACLE TRACE [main] openjpa.Runtime -
org.apache.openjpa.persistence.EntityManagerFactoryImpl@3f2aa70c.close()
invoked.
2325 SPE-ORACLE TRACE [main] openjpa.MetaData - Clearing metadata repository
"org.apache.openjpa.jdbc.meta.MappingRepository@4cf36052".
*** Just in case this is needed, the following is the persistence.xml used with
the above
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="SPE-ORACLE">
<class>com.spe.MapData</class>
</persistence-unit>
</persistence>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)