This is pretty much done. The only identifier-related piece to do still is support for @MapsId.
Part of this process was introducing the notion of synthetic attributes, which are attributes which don't really exist in the domain classes. HIbernate uses them for a number of things. Here, it was needed for handling "non-aggregated composite identifiers" (composite ids that are not represented by a @EmbeddedId). The important take away is that in the metamodel now identifiers ALWAYS are represented as a single attribute. In the case of org.hibernate.id.EntityIdentifierNature#SIMPLE and org.hibernate.id.EntityIdentifierNature#AGGREGATED_COMPOSITE that single attribute is a real attribute; in the case of org.hibernate.id.EntityIdentifierNature#COMPOSITE the attribute is synthetic. On Wed 11 Apr 2012 04:03:22 PM CDT, Steve Ebersole wrote: > The main pieces of identifier handling are in place now on the > metamodel branch. Probably still needs some work in terms of building > persisters, etc but what doesn't on that branch ;) > > Anyway, one thing in particular I was hoping to get a discussion on is > the org.hibernate.metamodel.spi.binding.EntityIdentifier class. The > javadocs kind of tell the story, but basically it represents a dual > contract (single versus multiple attribute identifiers). > > If anyone has time to take a look and give feedback that would be great! > -- st...@hibernate.org http://hibernate.org _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev