I've added some info below. John and I will talk more tomorrow and we'll provide
more details soon.
----- Original Message -----
From: "Steve Ebersole" <steve(a)hibernate.org>
To: "Strong Liu" <stliu(a)hibernate.org>
Cc: "Hibernate hibernate-dev" <hibernate-dev(a)lists.jboss.org>
Sent: Tuesday, June 5, 2012 5:07:42 AM
Subject: Re: [hibernate-dev] new metamode development status
Gail and John can speak better to the overall status of this; I have
been working on other things the past month+.
On Tue 05 Jun 2012 02:52:58 AM CDT, Strong Liu wrote:
> Hi there,
>
> As we discussed in the last dev meeting, our main dev resources are
> moving to the new metamodel branch, since I just find time to
> start working on it,
> and not sure about the current status of where we are now, and how
> much left to finish it.
Well technically we just said it was time to focus on metamodel (5.0)
instead of 4.1. But really thats just John and Gail primarily plus
you
and me and Hardy when we have time. IIRC you said you would be able
to
transition to being able to do more work on that code, so thats
great.
> So, I'm starting this mail and wondering maybe others can share the
> current status so we can get the big picture wrt works left and
> estimate ETA.
>
> I think there are 3 areas here:
>
> 1. binding
> 1.1 basic entity binding
> 1.2 component binding
Last time I looked into component binding (a while ago), I noticed that the resolved
Hibernate type was not defined, and that components were not integrated into the
persisters.
> 1.3 association binding
AFAIK, one-to-one is not implemented yet.
Many-to-one on a foreign key is working.
I thought I was done with unidirectional one-to-many on a foreign key (no join table), but
found some bugs. I'm wrapping those up currently, then moving to bidirectional
one-to-many/many-to-one.
AFIK, no associations using a join table are not implemented yet.
> 1.5 id binding
> 1.6 secondary table / join table binding ?
I did identifier binding quite some time ago. I am pretty happy with
how it turned out. The only part that is "not there" is handling of
@MapsId and that is just because I came to the realization that that
really its not the same thing as binding the identifier information.
So that will be developed as a separate concept.
Secondary table support is there as well as per the email I sent out
to
the dev list a few months ago. There was a question about whether we
wanted to expand support there. The consensus was no, so the
secondary
table support matches what used to be possible.
> 2. persister integration
Keep in mind the new overall paradigm we set even (even back to the
Austin meeting). Namely when you work a feature you should work it
all
the way up to integrating it with the persisters.
I've been integrating my work with the persister.
> 3. test results
Well there are a few levels of testing here. Basically we have tried
to get much more modular in testing of this new code. So we have
unit
tests of the org.hibernate.metamodel.spi.source contracts to make
sure
that hbm and annotations are being interpreted as we expect against
those common org.hibernate.metamodel.spi.source contracts. Then we
functional test those org.hibernate.metamodel.spi.source contracts as
they are consumed into the relational/domain/binding contracts.
Finally we have functional testing in terms of using the new
metamodel
to build a SessionFactory and trying to load/manipulate data etc. I
admit it can be tedious sometimes. But in the long run it helps to
more easily identify where stuff is breaking when we have a
bug/regression.
--
steve(a)hibernate.org
http://hibernate.org
_______________________________________________
hibernate-dev mailing list
hibernate-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev