openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Hanna" <>
Subject Re: How to query on interface in OpenJPA
Date Sat, 23 Jun 2007 03:14:33 GMT
Hi David,

I'm certainly no expert on the subject - I've only been working with
OpenJPA for a few weeks. I don't think what you're trying to do
directly translates, however.

Someone on the list please correct me if I'm wrong, but I don't think
it's possible to annotate an interface.

If I understand what you've described, it sounds like you have two
distinct classes that are likely quite similar, and need to implement
the methods outlined in your IData interface.

It appears that you want to execute a single query that would return
results for both types of classes.

I believe the details of how you achieve this also depend on your
relational design, but I'm doing something similar for a utility
billing project using inheritance.

I've got an annotated base class, Bill, containing all the common
attributes of my different bill types. I have several other annotated
classes (e.g. ElectricBill, WaterBill) that extend Bill but also have
their own unique attributes.

I was starting from a clean slate, so I had the luxury of setting up
my relational tables in any way I chose, I don't know if that's the
case for your project/example.

In short, my relational design consists of a common base table (Bill)
and related tables containing unique data for each different bill type
(ElectricBill, WaterBill). This allows me to query my data with the
type of flexibility you describe in your post.

I believe there is another mapping approach that allows your data to
be stored in a single table (InheritanceType.SINGLE_TABLE), but I
haven't tried it yet.

Section 2.12.6 of the OpenJPA documentation has a pretty good
description of the metadata mapping strategies available when you're
dealing with inheritance.

Hope this helps. Please let me know if I'm way off base or have missed
something. I'd been managing teams for several years and still don't
have my coding legs completely back yet.


Jason M. Hanna
President & Founder
Coincident, Inc.

On 6/22/07, David Ezzio <> wrote:
> Hi everyone,
> I've recently run into a bug in Kodo JDO that appears to be occurring in
> OpenJPA. I have a test case that fails in Kodo JDO, but I'm stumped how
> to port the test case to OpenJPA.
> My test case has two data classes and one interface that each class
> implements. SensorData and PublicData are the data classes and IData is
> the interface. The interface and classes are very simple.
> What I need to do is query on the interface, and I don't know how to do
> it.  I don't know how to annotate the interface or whether I should.  I
> don't know how to write the query.  A simple, "select i from IData i"
> would be just fine if it worked.
> Any suggestions?
> Thanks,
> David Ezzio
> Notice:  This email message, together with any attachments, may contain information 
of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated entities,  that may be confidential,
 proprietary,  copyrighted  and/or legally privileged, and is intended solely for the use
of the individual or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this by email and then
delete it.

View raw message