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      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to