openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pinaki Poddar (JIRA)" <>
Subject [jira] Created: (OPENJPA-977) Improve interface based domain model support
Date Thu, 12 Mar 2009 19:50:50 GMT
Improve interface based domain model support

                 Key: OPENJPA-977
             Project: OpenJPA
          Issue Type: New Feature
          Components: kernel
            Reporter: Pinaki Poddar

OpenJPA supports interfaces both via @ManagedInterface and @Type. 
However, my recent tests are showing several short comings in this area as well as I notice
lack of good example or documentation of this support.

One obvious issue seen in the test is queries do not work on interface. If  InterfaceA is
an interface implemented by X and Y, it will be natural to expect that a simple query 'select
a from InterfaceA a' should return the combined extent of X and Y. But unfortunately the query
fails to parse.

The other not so obvious problem I notice is loading of relations that are declared to be
interfaces. OpenJPA traditionally stored such references in database as encoded string with
class name and identity value. And, on load, it will decode the string to determine the exact
type of the instance and its primary key. I remember using it but currently it does not seem
to. It seems that other changes in enhancer, or constructing identity object from a String
have changed to cause such regression. Unfortunately, the test coverage is somewhat shallow
for this support to catch these regressions. 

Suggested action:
1. Document the nature and limitation of interface support.  
2. Create a comprehensive test suite to evaluate the capability and limitation of this support.
3. Find out the cause of regression of @Type and why the stringed identity decoding is broken.

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

View raw message