db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig L Russell <Craig.Russ...@Sun.COM>
Subject Re: How to avoid PM.getObjectById() checking for correct class in datastore?
Date Thu, 24 Jul 2008 20:45:18 GMT
Hi Jörg,

On Jul 22, 2008, at 8:13 AM, Joerg von Frantzius wrote:

> Hi,
> when calling PersistenceManager.getObjectById() with a  
> SingleFieldIdentity, there seems to be no way of avoiding the  
> following (if the implementation decides to do so):
> "It is an implementation decision whether to access the data store,  
> if required to determine the exact class. This will be the case of  
> inheritance, where multiple <code>PersistenceCapable</code> classes  
> share the same ObjectId class."
> Now when I know for sure that the targetClassName of the given  
> SingleFieldIdentity already denotes the correct class for the given  
> id, how can I avoid that additional roundtrip to the database for  
> finding the exact class?

The behavior of getObjectById might better be determined by the object  
id itself instead of the programmer having to know whether the class  
is the exact class.

Maybe we should look at another constructor for the  
SingleFieldIdentity classes that embeds the knowledge that the class  
name is exact? That way, the jdo implementation could construct  
identity instances and the user could also construct identity  
instances that represent the exact class.


> Maybe it would be useful to have another
> Object getObjectById (Object oid, boolean validate, boolean  
> determineExactClassInDatastore);
> on PersistenceManager for that purpose?
> Regards,
> Jörg
> -- 
> ____________________________________________________________________
> artnology GmbH - Milastraße 4 - 10437 Berlin - Germany
> Geschäftsführer: Ekkehard Blome (CEO), Felix Kuschnick (CCO)
> Registergericht: Amtsgericht Berlin Charlottenburg HRB 76376 UST-Id.  
> DE 217652550

Craig L Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!

View raw message