EOGeneralAdaptorException when saving EOContext
EOGeneralAdaptorException when saving EOContext
- Subject: EOGeneralAdaptorException when saving EOContext
- From: "Yung-Luen Lan" <email@hidden>
- Date: Sun, 27 Apr 2008 03:22:35 +0800
Hi,
I encountered com.webobjects.eoaccess.EOGeneralAdaptorException when
saveChanges() after inserting an enterprise object into editing
context.
It only happens when I set a relationship of the inserted object.
Without setting the relationship, my app run smoothly.
The inserted entity called Sale. And the problematic relationship
called referenceSale, which joins to sale.
(If a sale has a referenceSale, it will retrieve the value of property
from referenceSale instead of itself.)
Sale:
Column | Type |
Modifiers
------------------+-----------------------------+------------------------------------------------
saleid | bigint | not null default
nextval('sale_seq'::regclass)
clientid | bigint | not null
storeid | bigint |
referencesaleid | bigint |
... other property
Foreign-key constraints:
"sale_client_fk" FOREIGN KEY (clientid) REFERENCES
client(clientid) DEFERRABLE INITIALLY DEFERRED
"sale_store_fk" FOREIGN KEY (storeid) REFERENCES store(storeid)
DEFERRABLE INITIALLY DEFERRED
"sale_referencesale_fk" FOREIGN KEY (referencesaleid) REFERENCES
sale(saleid) DEFERRABLE INITIALLY DEFERRED
I have no idea why this relationship will cause the problem. Searching
on list, I turned on the SQL logging and see there is a
NullPointerException.
No SQL generated. What can I do to investigate this problem further?
2008-04-27 02:50:00,491 DEBUG -[-:50212 1] NSLog
(ERXNSLogLog4jBridge.java:44) - === Begin Internal Transaction
2008-04-27 02:50:00,492 DEBUG -[-:50212 1] NSLog
(ERXNSLogLog4jBridge.java:44) - evaluateExpression:
<com.webobjects.jdbcadaptor.PostgresqlExpression: "SELECT
NEXTVAL('Sale_seq') AS KEY0" withBindings: >
# select the next id to insert
2008-04-27 02:50:00,494 DEBUG -[-:50212 1] NSLog
(ERXNSLogLog4jBridge.java:44) - 1 row(s) processed
2008-04-27 02:50:00,499 DEBUG -[-:50212 1] NSLog
(ERXNSLogLog4jBridge.java:44) - === Commit Internal Transaction
2008-04-27 02:50:00,505 DEBUG -[-:50212 1] NSLog
(ERXNSLogLog4jBridge.java:44) - === Begin Internal Transaction
2008-04-27 02:50:00,506 INFO -[-:50212 1] Exceptions
(ERXDatabaseContextDelegate.java:152) - Database Exception occured:
java.lang.NullPointerException
# what happened? it even didn't print a PostgresqlExpression SQL!
2008-04-27 02:50:00,507 DEBUG -[-:50212 1] NSLog
(ERXNSLogLog4jBridge.java:44) - === Rollback Internal Transaction
2008-04-27 02:50:00,508 WARN -[-:50212 1] NSLog
(ERXNSLogLog4jBridge.java:41) -
<com.webobjects.appserver._private.WOComponentRequestHandler>:
Exception occurred while handling request:
com.webobjects.eoaccess.EOGeneralAdaptorException
2008-04-27 02:50:00,512 ERROR -[-:50212 1] ERXApplication
(ERXApplication.java:1217) - Exception caught: null
Extra info: {
<SNIPPED>
}
com.webobjects.eoaccess.EOGeneralAdaptorException
at com.webobjects.eoaccess.EODatabaseContext._exceptionWithDatabaseContextInformationAdded(EODatabaseContext.java:4500)
at com.webobjects.eoaccess.EODatabaseContext.performChanges(EODatabaseContext.java:6212)
at com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditingContext(EOObjectStoreCoordinator.java:376)
at com.webobjects.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3176)
at er.extensions.ERXEC._saveChanges(ERXEC.java:937)
at er.extensions.ERXEC.saveChanges(ERXEC.java:860)
at woserver.bookshelf.Reorder.atmPurchase(Reorder.java:641)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1.methodValue(NSKeyValueCoding.java:636)
at com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1134)
at com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1293)
at com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1686)
at com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:447)
at com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java:212)
at com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:1754)
at com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:50)
at com.webobjects.appserver._private.WOHyperlink.invokeAction(WOHyperlink.java:98)
at er.extensions.ERXHyperlink.invokeAction(ERXHyperlink.java:62)
at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
at com.webobjects.appserver._private.WOConditional.invokeAction(WOConditional.java:86)
at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
at com.webobjects.appserver._private.WOConditional.invokeAction(WOConditional.java:86)
at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
at er.ajax.AjaxDynamicElement.invokeAction(AjaxDynamicElement.java:83)
at er.ajax.AjaxUpdateContainer.invokeAction(AjaxUpdateContainer.java:62)
at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
at com.webobjects.appserver._private.WOComponentContent.invokeAction(WOComponentContent.java:38)
at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
at com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:1078)
at woserver.HYPOComponent.invokeAction(HYPOComponent.java:56)
at com.webobjects.appserver._private.WOComponentReference.invokeAction(WOComponentReference.java:127)
at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
at com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:1078)
at woserver.HYPOComponent.invokeAction(HYPOComponent.java:56)
at com.webobjects.appserver.WOSession.invokeAction(WOSession.java:1357)
at com.webobjects.appserver.WOApplication.invokeAction(WOApplication.java:1736)
at er.extensions.ERXAjaxApplication.invokeAction(ERXAjaxApplication.java:46)
at er.extensions.ERXApplication.invokeAction(ERXApplication.java:1388)
at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedPage(WOComponentRequestHandler.java:206)
at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession(WOComponentRequestHandler.java:298)
at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:332)
at com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:369)
at com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:442)
at com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1678)
at er.extensions.ERXApplication.dispatchRequestImmediately(ERXApplication.java:1505)
at er.extensions.ERXApplication.dispatchRequest(ERXApplication.java:1469)
at com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
at java.lang.Thread.run(Thread.java:613)
Regards,
yllan
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden