I don't think the intent is to be able to dynamically change mappings,
although I suppose that's certainly possible.  The primary use case
for the metadata API is to be able to generate classes at runtime and
be able to persist them.  I didn't follow the metadata API
justification email thread too closely, so there may be other reasons
to have it.

-matthew

On Wed, May 12, 2010 at 6:35 AM, Kevin Sutter <[email protected]> wrote:
> Hi Christopher,
> Hmmm...  Interesting idea, but is this dynamic mapping really practical?  It
> sounds like you are looking for the means to dynamically create or change
> the mappings defined by your Entity and your database Schema.  The attribute
> types in your Entity definitions will need to match (or at least easily
> convert to) the types in your database Schema.  Since most customer database
> schemas are fairly static, I don't quite see the need for dynamic mappings.
>
> Maybe I need another cup of coffee this morning, but I'd still be interested
> in hearing a specific, real-world use case where the mappings between your
> Entity and Schema need to be dynamic.
>
> Thanks,
> Kevin
>
> On Tue, May 11, 2010 at 11:33 AM, Christopher Gardner <
> [email protected]> wrote:
>
>> Kevin,
>>
>> The only use case I can think of is the obvious one: a mapping system
>> more expressive and typesafe than xml,  while allowing for refactoring and
>> clutter-free entity code.  However--and this is just coming off the top of
>> my head as I'm writing--I wonder if there might be needs to compute
>> mappings
>> based on dynamic criteria rather than be bound to compiled annotations or
>> static xml (of course, I can't think of what those needs are at the
>> moment).
>>
>> On Tue, May 11, 2010 at 12:21 PM, Kevin Sutter <[email protected]> wrote:
>>
>> > Hi Christopher,
>> > Now I see what you meant by a "fluent API"...  To be honest, my viewpoint
>> > of
>> > this API was to allow for an alternate means of configuring Hibernate,
>> > other
>> > than just using XML.  Classic Hibernate only supported configuration
>> > through
>> > XML, so this fluentHibernate allowed for a programming-based mechanism
>> for
>> > configuration.  On the surface, it seems like this would be more
>> difficult
>> > to use than just using annotations.
>> >
>> > Can you provide any use cases in the JPA sense that would describe how
>> this
>> > type of configuration API would be helpful?
>> >
>> > On a similar vein, we are considering an API to help with configuration
>> of
>> > the persistence unit.  Since the persistence unit is defined by the
>> > persistence.xml only, allowing some alternate means via an API would be
>> > welcome.
>> >
>> > Kevin
>> >
>> > On Tue, May 11, 2010 at 10:27 AM, Christopher Gardner <
>> > [email protected]> wrote:
>> >
>> > > Thanks.  I'm in the former camp, i.e., a legacy database.  I'm aware of
>> > the
>> > > xml alternative.  Though I'm no DotNet developer, I read about an
>> Fluent
>> > > NHibernate, which allows you to create a object to store mapping in
>> code.
>> > >
>> > > http://wiki.fluentnhibernate.org/Getting_started
>> > >
>> > > <http://wiki.fluentnhibernate.org/Getting_started>Maybe such an API
>> > isn't
>> > > appropriate for a spec, but it would be an interesting alternative to
>> > both
>> > > annotations and xml for JPA.
>> > >
>> > > On Tue, May 11, 2010 at 11:21 AM, Kevin Sutter <[email protected]>
>> > wrote:
>> > >
>> > > > Hi Christopher,
>> > > > You're right, annotations can be verbose.  But, they don't have to
>> be.
>> > >  It
>> > > > all depends on whether your application can live with the default
>> > > > processing
>> > > > defined by the spec.  We tried to pick the most common default values
>> > for
>> > > > the various annotation elements.  If your application can live with
>> the
>> > > > default processing, then all that is really necessary is the @Entity
>> > and
>> > > > @Id
>> > > > annotations.  But, most legacy applications and schemas can not live
>> > with
>> > > > the default settings, thus the annotations can become verbose.
>> > >  Flexibility
>> > > > can be a killer...  But, then we'd be crucified if we didn't allow
>> for
>> > > the
>> > > > flexibility...  :-)
>> > > >
>> > > > The annotations can also be overridden via orm.xml declarations.
>>  This
>> > > > would
>> > > > keep your base code more readable, while putting the detailed gorp
>> into
>> > > the
>> > > > xml file(s).  Maybe this would be more suitable for your environment.
>> > > >
>> > > > Not sure what you mean by "fluent API".  Any specific examples to
>> help
>> > > with
>> > > > this discussion?
>> > > >
>> > > > Thanks,
>> > > > Kevin
>> > > >
>> > > > On Tue, May 11, 2010 at 10:10 AM, Christopher Gardner <
>> > > > [email protected]> wrote:
>> > > >
>> > > > > Vis-a-vis all JPA specs, streamlining annotations would be nice.
>>  The
>> > > > > annotations can be verbose.  Maybe a fluent API would be in order.
>> > > > >
>> > > > > On Tue, May 11, 2010 at 10:46 AM, Kevin Sutter <[email protected]
>> >
>> > > > wrote:
>> > > > >
>> > > > > > Hi Chris,
>> > > > > > Sorry to hear that you are frustrated with JPA 2.0.  Can you
>> > > elaborate?
>> > > > > >  The
>> > > > > > JPA Expert Group is currently soliciting feedback for the next
>> > > revision
>> > > > > of
>> > > > > > the JPA spec (2.x or 3.0).  Here's the e-mail address for this
>> > > > > > correspondence [1].  But, if there are distinct improvements that
>> > are
>> > > > you
>> > > > > > looking for, maybe they could be entertained by the OpenJPA
>> > community
>> > > > > > first.  Bugs and/or Features can be entered into our JIRA system
>> > [2]
>> > > > for
>> > > > > > future consideration.  Of course, community involvement can help
>> > > speed
>> > > > up
>> > > > > > this process.
>> > > > > >
>> > > > > > Thanks for the input,
>> > > > > > Kevin
>> > > > > >
>> > > > > > [1]  [email protected]
>> > > > > > [2]  https://issues.apache.org/jira/browse/OPENJPA
>> > > > > >
>> > > > > > On Tue, May 11, 2010 at 9:12 AM, C N Davies <[email protected]>
>> > > wrote:
>> > > > > >
>> > > > > > > I'm so frustrated by JPA 2.0 but can't seem to find an JSR for
>> > JPA
>> > > 3
>> > > > or
>> > > > > > > anything. Can anyone point me it?
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > Thanks J
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > Chris
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>



-- 
mailto:[email protected]
skype:matthewadams12
yahoo:matthewadams
aol:matthewadams12
google-talk:[email protected]
msn:[email protected]
http://matthewadams.me
http://www.linkedin.com/in/matthewadams

Reply via email to