openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Prud'hommeaux <>
Subject Re: How to query on interface in OpenJPA
Date Mon, 09 Jul 2007 17:34:58 GMT

I guess we just don't support it in JPA, then. It might be a good  
future enhancement, though, and probably not that difficult to  
implement (since it is already supported in a derivative product of  

On Jul 9, 2007, at 10:32 AM, David Ezzio (asmtp) wrote:

> Hi Marc,
> I took your suggestion and got an error when using the interface  
> whether for a select or delete query.  The error is "No metadata  
> was found for type "interface problem.model.IData". The class is  
> not enhanced."
> I did include the interface in the list of classes in  
> persistence.xml without any complain during enhancement or mapping- 
> validation.  The mappingtool creates two tables, one for SensorData  
> and one for PublicData.
> I've attached a zip of the text file with the testing code and  
> stack trace.
> Any insights welcomed.
> Thanks,
> David
> Marc Prud'hommeaux wrote:
>> David-
>> According to the spec, "interfaces should not be designated as  
>> entities", and if you can't declare it as an entity, then you  
>> don't have anywhere to specify its interface name.
>> The Kodo JDO layer on top of OpenJPA does support querying on  
>> interfaces, though. I wonder if it would work if you did "select i  
>> from com.somepackage.IData i". If that raises an error, can you  
>> post the stack trace?
>> On Jun 22, 2007, at 7:08 PM, 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