Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Potential Bug in EclipseLink JPA?

686999Apr 28 2009 — edited Apr 29 2009
Hi, my scenario is the following -
* I have an Object called "LearningItem" and it has a collection of objects (OneToMany mapping with Cascade.Persist) called "ClassSpecificConfiguration".
* ClassSpecificConfigurtion has association to the parent LearningItem using ManyToOne mapping.
* It also has an association to another object called "Class" using another ManyToOne mapping.

Further to above, the "Class" object has another separate association with the ClassSpecificConfiguration.

I am creating the objects as follows -
1* Find Class
2* Create LearningItem
3* Create ClassSpecificConfiguration and set the Class and parent LearningItem relationship in it
4* Add ClassSpecificConfiguration to LearningItem collection
5* Associate ClassSpecificConfiguration with the Class
6* Persist LearningItem
7* Flush Entity Manager

Here, I get an error that Foreign Key to Class in ClassSpecificConfiguration to Class is null. I dont see why it is null. I have double checked all the objects have their relationships correctly set.

Another observation is that in step 5, If I associate another Class object (different from the one in step 3), then I dont get any error.
Another observation is that if I dont perform step 5, then again it all works fine.

This makes me think that this is a bug. Can someone please help here.

I am pasting JPA log output from the error situation

[EL Finest]: 2009.04.28 12:12:42.843--UnitOfWork(11693498)--Thread(Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--Execute query InsertObjectQuery(oracle.osl.lt.model.lessonplan.FolderEntity@75901a)
[EL Finest]: 2009.04.28 12:12:42.859--ClientSession(23643018)--Thread(Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--reconnecting to external connection pool
[EL Fine]: 2009.04.28 12:12:42.859--ClientSession(23643018)--Connection(24435036)--Thread(Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--INSERT INTO OSL_LEARNING_ITEMS (ID, START_DATE, END_DATE, OBJECT_VERSION_NUMBER, CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, TITLE, VISIBLE_FLAG, SHOW_ENROLMENTS_FLAG, SHOW_OUTCOMES_FLAG, SAME_OVERVIEW_FLAG, SHOW_TEACHER_OVERVIEW_FLAG, SHOW_STUDENT_OVERVIEW_FLAG, AUTHOR_PAR_ID, TEACHER_OVERVIEW_RID_ID, STUDENT_OVERVIEW_RID_ID, LIT_TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
bind => [54195, 2007-01-02, null, 1, 0, 2009-04-28, 0, 2009-04-28, BUS910, Y, Y, Y, Y, Y, Y, null, null, null, FOLDER]
[EL Finest]: 2009.04.28 12:12:42.968--UnitOfWork(11693498)--Thread(Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--Execute query InsertObjectQuery(oracle.osl.lt.model.lessonplan.LIConfigEntity@cdfd9a)
[EL Finest]: 2009.04.28 12:12:42.968--UnitOfWork(11693498)--Thread(Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--Execute query WriteObjectQuery(oracle.osl.lt.model.course.ClassEntity@4201fb)
[EL Finest]: 2009.04.28 12:12:42.968--UnitOfWork(11693498)--Thread(Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--Execute query WriteObjectQuery(oracle.osl.lt.model.lessonplan.LIConfigEntity@cdfd9a)
[EL Fine]: 2009.04.28 12:12:42.968--ClientSession(23643018)--Connection(24435036)--Thread(Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--INSERT INTO OSL_LEARNING_CLASS_CONFIGS (ID, OBJECT_VERSION_NUMBER, CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, SHOW_FEEDBACK_FLAG, COMMENT_ASSESSMENT_FLAG, PROGRESS_ASSESSMENT_FLAG, OBSERVATION_ASSESSMENT_FLAG, DEMONSTRATION_ASSESSMENT_FLAG, FORMAL_ASSESSMENT_FLAG, CHILD_WEIGHTINGS_FLAG, HOST_CLASS_FLAG, ORDER_SEQUENCE, OBJECT_VIEW_TYPE, ASSESSMENT_NUMERIC_SCALE, ASSESSMENT_ROUNDING, PRS_ID, COL_ID, LIT_ID, LCC_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
bind => [8311, 1, 0, 2009-04-28, 0, 2009-04-28, , , , , , , , Y, 0, null, null, null, null, null, null, null]
[EL Fine]: 2009.04.28 12:12:43.093--ClientSession(23643018)--Thread(Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--SELECT 1 FROM DUAL
[EL Warning]: 2009.04.28 12:12:43.140--UnitOfWork(11693498)--Thread(Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--Exception [EclipseLink-4002] (Eclipse Persistence Services - 1.0.2 (Build 20081024)): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("OSL"."OSL_LEARNING_CLASS_CONFIGS"."COL_ID")

Error Code: 1400
Call: INSERT INTO OSL_LEARNING_CLASS_CONFIGS (ID, OBJECT_VERSION_NUMBER, CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, SHOW_FEEDBACK_FLAG, COMMENT_ASSESSMENT_FLAG, PROGRESS_ASSESSMENT_FLAG, OBSERVATION_ASSESSMENT_FLAG, DEMONSTRATION_ASSESSMENT_FLAG, FORMAL_ASSESSMENT_FLAG, CHILD_WEIGHTINGS_FLAG, HOST_CLASS_FLAG, ORDER_SEQUENCE, OBJECT_VIEW_TYPE, ASSESSMENT_NUMERIC_SCALE, ASSESSMENT_ROUNDING, PRS_ID, COL_ID, LIT_ID, LCC_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
bind => [8311, 1, 0, 2009-04-28, 0, 2009-04-28, , , , , , , , Y, 0, null, null, null, null, null, null, null]
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 27 2009
Added on Apr 28 2009
6 comments
3,780 views