• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: pulling top level of relationships
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pulling top level of relationships


  • Subject: Re: pulling top level of relationships
  • From: Don Lindsay <email@hidden>
  • Date: Thu, 05 Feb 2009 15:02:21 -0500

Hello Lachlan;

I just tried setPrefetchingRelationshipKeyPaths to use this and I still get a null for the person object. If I use the getter from the User Java Object person() after using the setPrefetchingRelationshipKeyPaths I get a StackOverflow Exception.

com.webobjects.foundation.NSForwardException [java.lang.StackOverflowError] null:java.lang.StackOverflowError
at com .webobjects .foundation .NSForwardException ._runtimeExceptionForThrowable(NSForwardException.java:39)
at com.webobjects.foundation.NSKeyValueCoding $_MethodBinding.setValueInObject(NSKeyValueCoding.java:1156)
at com.webobjects.foundation.NSKeyValueCoding $_NumberMethodBinding.setValueInObject(NSKeyValueCoding.java:1183)
at com .webobjects .eocontrol.EOCustomObject.takeStoredValueForKey(EOCustomObject.java: 1663)
at com .psgs.prjmgtflx.entities.supertype._Users.setGetsspremail(_Users.java: 150)
at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
at sun .reflect .DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor $1.setMethodValue(NSKeyValueCoding.java:643)
at com.webobjects.foundation.NSKeyValueCoding $_MethodBinding.setValueInObject(NSKeyValueCoding.java:1150)


which continues for thousands of lines. Could this possibly be caused because the Person Entity has a relationship back to the User Entity as well as the User Entity having a relationship to the Person entity?

If I do not use setPrefetchingRelationshipKeyPaths, and then call the person() getter from the User object, I get the Person object with no problems.

Ist very strange, no?

Don


On Feb 5, 2009, at 12:04 PM, Lachlan Deck wrote:

On 06/02/2009, at 3:03 AM, Don Lindsay wrote:

When I use objectsWithFetchSpecification to retrieve an Array of User objects. (I setEntity("Users") and setIsDeep(true)).

@see EOFetchSpecification#setIsDeep.
This is not doing what you're looking for. i.e., you're not using inheritance from your description - but a relationship.


The Relationships in the Users object are not fetched. I believe this is due to faulting by EO.

Lazy faulting is default behaviour, correct.

I would like to retrieve the top level relationships in the object without the EO having to make a round trip to the database, at a later time. Is there a way to pull the top level relationships in an Entity, or specify if I want to go deeper into the relationship model?

to use the example of users.

User Entity:
 Username attribute: String
 Password attribute: String
 Person attribute: Person EO Object

What I want to do is fetch all users and ensure that the Person object is fetched when I receive the Array of EOs back from objectsWithFetchSpecification.

fetchSpec.setPrefetchingRelationshipKeyPaths(new NSArray<String>("person"));


with regards,
--

Lachlan Deck


_______________________________________________ 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
  • Follow-Ups:
    • Re: pulling top level of relationships
      • From: Ken Anderson <email@hidden>
    • Re: pulling top level of relationships
      • From: Chuck Hill <email@hidden>
References: 
 >pulling top level of relationships (From: Don Lindsay <email@hidden>)
 >Re: pulling top level of relationships (From: Lachlan Deck <email@hidden>)

  • Prev by Date: Re: pulling top level of relationships
  • Next by Date: Re: pulling top level of relationships
  • Previous by thread: Re: pulling top level of relationships
  • Next by thread: Re: pulling top level of relationships
  • Index(es):
    • Date
    • Thread