db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig Russell (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JDO-630) Support specification of exact class in SingleFieldIdentity
Date Tue, 12 Jan 2010 16:42:01 GMT

    [ https://issues.apache.org/jira/browse/JDO-630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12799262#action_12799262
] 

Craig Russell commented on JDO-630:
-----------------------------------

Just a couple of comments on the test case:

This uses the structure of the company model with class Person with the id; abstract class
Employee extends Person; class PartTimeEmployee extends Employee; and FullTimeEmployee extends
Employee. The mapping uses single table for all classes with a discriminator column.

The error is NPE when getting the object by id where the oid is Employee, validate false.


The failures are when getting the object by id where the oid is Person, whether validate is
true or false it returns a Person instead of a FullTimeEmployee.

> Support specification of exact class in SingleFieldIdentity
> -----------------------------------------------------------
>
>                 Key: JDO-630
>                 URL: https://issues.apache.org/jira/browse/JDO-630
>             Project: JDO
>          Issue Type: Improvement
>          Components: specification, tck2
>            Reporter: Andy Jefferson
>            Assignee: Craig Russell
>             Fix For: JDO 2 maintenance release 3
>
>         Attachments: jdo-630.patch
>
>
> 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?
> It would be useful to have a way of specifying a SingleFieldIdentity to be for the exact
class specified. This could be done by addition of methods
> void setExact(boolean flag);
> boolean getExact();
> to SingleFieldIdentity

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message