aspose file tools*
The moose likes Object Relational Mapping and the fly likes JPA: incomplete SQL query Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "JPA: incomplete SQL query" Watch "JPA: incomplete SQL query" New topic
Author

JPA: incomplete SQL query

sachin y deshpande
Greenhorn

Joined: May 12, 2004
Posts: 20
I have a table:


and another table:


with the following constraints:


and

DEVICE_EQ_TYPE, DEVICE_STN_ID and DEVICE_UNIT_ID are FKs too.


"Generated" entities look like:


and:


and:
and there are some other entities which i guess (and hope) are of not much value in this context.

I need to create a Job and SubJob in the same application managed transaction.
The JPA entity managers/controller are generated.
Note: managers/controller have been modified so that they dont have to manage transactions.

Here is the code that I have written:



The error stack is:
<openjpa-1.2.1-SNAPSHOT-r422266:707222 fatal store error> org.apache.openjpa.persistence.RollbackException: The transaction has been rolled back. See the nested exceptions for details on the errors that occurred.
at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:523)
...
...
... 38 more
Caused by: <openjpa-1.2.1-SNAPSHOT-r422266:707222 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: Field "entity.SubJob.pk" of "entity.SubJob@577a577a" can not be set to "entity.SubJobPK@84933dcf" value.
at org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy.insert(HandlerFieldStrategy.java:131)
...
...
...


The queries printed on the console are:
executing prepstmnt 885994703 INSERT INTO EM.Job (JOB_ID, SUBMITTED_BY, SUBMITTED_TS, JOB_TYPE_ID, STATUS_CD) VALUES (?, ?, ?, ?, ?) [params=(long) 19, (String) shree, (Timestamp) 2009-03-13 19:54:02.125, (long) 1, (long) 1]
[0 ms] spent
executing prepstmnt 1556241602 INSERT INTO EM.SUB_JOB (JOB_ID, JOB_TYPE_ID, STEP_ID) VALUES (?, ?, ?) [params=(long) 19, (null) null, (null) null]
[16 ms] spent


Looks like the insert of SUB_JOB query is generated in correctly/ incompletely!
Can anyone help us in rectifying the problem?

Thanks in advance
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: JPA: incomplete SQL query