Insertion of non-null String in non-nullable column yields ORA-01400: insertion
of null not possible
----------------------------------------------------------------------------------------------------
Key: OPENJPA-868
URL: https://issues.apache.org/jira/browse/OPENJPA-868
Project: OpenJPA
Issue Type: Bug
Components: jdbc, jpa, sql
Affects Versions: 0.9.7
Environment: BEA WLS 10, i.e. KODO + OpenJPA 0.7 (?)
Reporter: Klaus Zitzmann
Hello,
the below exception complaints about a null-value but there isn't !!! The value
for the column NAME is a string, here 'Reckzeh'.
The error shows up occasionally in a mass scenario.
I successfully tried that statement on a command line (here: with SQL
Developer).
(I doubt this) Could be an issue of the jdbc driver, i.e. BEA vs. Oracle ?
Here's my ddl:
CREATE TABLE "AUGE"."PARTNER"
( "O_ID" VARCHAR2(32 BYTE) NOT NULL ENABLE,
"DKEY_ROLLE" VARCHAR2(32 BYTE) NOT NULL ENABLE,
"GEBURTSDATUM" TIMESTAMP (6) WITH LOCAL TIME ZONE,
"NAME" VARCHAR2(200 BYTE) NOT NULL ENABLE,
"VORNAME" VARCHAR2(200 BYTE),
"PNR" NUMBER(2,0),
"BERUF" VARCHAR2(200 BYTE),
"BERUFSSTELLUNG" VARCHAR2(200 BYTE),
"DKEY_FAMILIENSTAND" VARCHAR2(32 BYTE),
"FK_VERTRAGSOBJEKT" VARCHAR2(32 BYTE),
"DKEY_GESCHLECHT" VARCHAR2(32 BYTE),
"PARTNERNUMMER" NUMBER(10,0),
"BERUFSGRUPPE" VARCHAR2(200 BYTE),
"SERVICENUMMER" NUMBER(8,0),
CONSTRAINT "PARTNER_PK11198062565578" PRIMARY KEY ("O_ID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS" ENABLE,
CONSTRAINT "PARTNER_FK31204619263046" FOREIGN KEY ("FK_VERTRAGSOBJEKT")
REFERENCES "AUGE"."VERTRAGSOBJEKT" ("O_ID") ON DELETE CASCADE ENABLE
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TS_AUGEDATA" ;
-+-+-+-+-+-++-+
Caused by: <1.0.0 fatal general error>
org.apache.openjpa.persistence.PersistenceException: 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:2126)
at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1973)
at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1871)
at
org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1789)
at
org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:80)
at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1319)
at kodo.kernel.KodoBroker.commit(KodoBroker.java:103)
at
org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:866)
at
org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:409)
... 21 more
Caused by: <1.0.0 nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: [BEA][Oracle JDBC
Driver][Oracle]ORA-01400: Einfügen von NULL
in ("AUGE"."PARTNER"."NAME") nicht möglich
{prepstmnt 17097 INSERT INTO AUGE.PARTNER (O_ID, DKEY_ROLLE, GEBURTSDATUM,
NAME, VORNAME, PNR, BERUF, BERUFSSTELLUNG, DKEY_FAMILIENSTAND,
FK_VERTRAGSOBJEKT,
DKEY_GESCHLECHT, PARTNERNUMMER, BERUFSGRUPPE, SERVICENUMMER) VALUES (?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [params=(String) f38ef4ef0a0a056f08011dc826b2
66df, (String) ee1ad71f0a6c01150089ae9e6a08cfe0, (Timestamp) 1953-11-07
00:00:00.0, (String) Reckzeh, (String) Angela, (int) 3, (String) 99, (String)
Weitere
, (String) 660671350a6c01150089ae9e49348813, (String)
f38ef4610a0a056f08011dc81035acb0, (String) 797828cd0a6c03c400e808427904255d,
(null) null, (null) null,
(null) null]} [code=1400, state=23000]
FailedObject: [de.debeka.auge.persistence.jpa.part...@877f701]
[java.util.LinkedList]
at
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:3782)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:97)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:67)
at
kodo.jdbc.kernel.BatchingPreparedStatementManager.executeBatch(BatchingPreparedStatementManager.java:304)
at
kodo.jdbc.kernel.BatchingPreparedStatementManager.flushInternal(BatchingPreparedStatementManager.java:220)
at
kodo.jdbc.kernel.BatchingPreparedStatementManager.flushInternal(BatchingPreparedStatementManager.java:112)
at
kodo.jdbc.kernel.BatchingPreparedStatementManager.flush(BatchingPreparedStatementManager.java:72)
at
kodo.jdbc.kernel.ConstraintUpdateManager.flushGraph(ConstraintUpdateManager.java:366)
at
kodo.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:59)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:514)
at
org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
at
org.apache.openjpa.datacache.DataCacheStoreManager.flush(DataCacheStoreManager.java:509)
at
org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
... 29 more
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: [BEA][Oracle JDBC
Driver][Oracle]ORA-01400: Einfügen von NULL in ("AUGE"."PARTNER"."NAME") nich
t möglich
{prepstmnt 17097 INSERT INTO AUGE.PARTNER (O_ID, DKEY_ROLLE, GEBURTSDATUM,
NAME, VORNAME, PNR, BERUF, BERUFSSTELLUNG, DKEY_FAMILIENSTAND,
FK_VERTRAGSOBJEKT,
DKEY_GESCHLECHT, PARTNERNUMMER, BERUFSGRUPPE, SERVICENUMMER) VALUES (?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [params=(String) f38ef4ef0a0a056f08011dc826b2
66df, (String) ee1ad71f0a6c01150089ae9e6a08cfe0, (Timestamp) 1953-11-07
00:00:00.0, (String) Reckzeh, (String) Angela, (int) 3, (String) 99, (String)
Weitere
, (String) 660671350a6c01150089ae9e49348813, (String)
f38ef4610a0a056f08011dc81035acb0, (String) 797828cd0a6c03c400e808427904255d,
(null) null, (null) null,
(null) null]} [code=1400, state=23000]
at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:191)
at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$800(LoggingConnectionDecorator.java:56)
at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeBatch(LoggingConnectionDecorator.java:903
)
at
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeBatch(DelegatingPreparedStatement.java:244)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeBatch(JDBCStoreManager.java:1381)
at
kodo.jdbc.kernel.BatchingPreparedStatementManager.executeBatch(BatchingPreparedStatementManager.java:237)
... 40 more
-+-+-+-+-+-+-
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.