Accessing and Updating Instances
Once you have accessed some instances by iterating an Extent or executing a query, you can access
related instances by traversing references and iterating through
collections contained in the accessed instances. The JDO implementation
ensures that the related objects are instantiated and read from the
datastore. All classes that can access a field—based on its access
modifier (public, private, etc.)—can directly access and modify
the field, just as they would if the application were not running in a
JDO environment.
The following program accesses a specific Movie instance and determines how many DVD
copies of the Movie are currently
available for rent. It accesses a specific Movie instance and then navigates to related
instances. Line [1] accesses the
Movie, based on its title. Appendix E contains the implementation
of the StoreQueries class. Line
[2] accesses the set of associated
MediaItem instances. We access each
MediaItem instance on line [3] and determine if it is a DVD format on line
[4]. If so, line [5] accesses its set of associated RentalItem instances. We acquire a reference
to each RentalItem instance on line
[6]. On line [7], we determine whether the RentalItem is currently being rented. If it is
currently rented to a customer, the value of rental will not be null. If rental is null, then it should be in stock and available
for rent. In this case, we increment the dvdRentalsInStock counter. Once all the instances have been accessed, we ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access