openjpa-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: possible to write a JPA Query to that filters both an Entity and its relationship entities?
Date Fri, 23 Feb 2007 22:09:12 GMT

I can tell you that having a result column that is filtered in the  
query is not what a user would expect. In JDO, the oldtimers column  
would be filtered.

In fact, you have to do a bit of work to get SQL to return you non- 
filtered instances. So I don't get it. Does OpenJPA not construct the  
obvious SQL that filters oldtimers?

I've re-read the JPA specification, and it appears to be silent on  
the issue of filtering. Is this a portability issue?


On Feb 23, 2007, at 1:57 PM, Tom Mutdosch wrote:

> Hi Patrick,
> Thanks for the query suggestion.  I guess what I was initially  
> thinking of doing was incorrect in that JPA doesn't really give me  
> a "view" of what I want.  That is, I can never get a Department  
> object containing a list of filtered Employees.  A JPA object  
> returned from a query is always going to be an exact representation  
> of the database.  So your Department object is always going to  
> contain all of the Employees in its relationship.
> So like you mentioned, I can still get all the information using  
> one query, and then just process those results as I want them.  I  
> imagine that this would entail some sort of wrapper bean that would  
> house the Department and the filtered list of Employees.  Or what  
> if I added a regular method to my Department entity called  
> getFilterEmployees() which would return a List that I populated  
> with the filtered results from my query?  Does that seem like a  
> reasonable thing to do -- if I didn't want to deal with a wrapper  
> object but still have all of my desired data captured by a single  
> Entity?
> Thanks
> Tom
> Patrick Linskey wrote:
>> It is, but it doesn't buy you much in this situation -- the oldTimers
>> collection in your example won't be filtered to just the ones that  
>> are
>> old. It'll be all the employees in the dept.
>> -Patrick

Craig Russell
Architect, Sun Java Enterprise System
408 276-5638
P.S. A good JDO? O, Gasp!

View raw message