Regarding the component related changes mentioned in the previous email... As I mentioned a lot of the pre-requisite work has already been performed on HEAD. I also took the opportunity to refactor the packaging of the org.hibernate.tuple package. Specifically, most of the pre-requisite work was the introduction of the o.h.t.component.ComponentMetamodel class. Currently, ComponentType just uses this new class directly.
What needs to happen next, then, is for the introduction of a org.hibernate.persister.component.ComponentPersister which is managed as part of the session factory much like the other persisters. ComponentType will then need to look up its corresponding ComponentPersister based on a "role name" and use the capabilities of that persister. The pattern here is very similar to EntityType/EntityPersister. The difficulty I ran into though was that ComponentType would then require access to the session factory (in order to locate the persister) from within methods where it is currently not passed a reference to the session factory (specifically, this was methods like isSame(), isEqual(), compare(), getHashCode(), etc). This gets to more general discussions we have had in the past regarding the scoping of Types. The solution is one of two things: 1) Devise some sort of scoping scheme where Types can unequivocally be "bound" to a session factory. This is obviously difficult given the current Hibernate.LONG, Hibernate.STRING, etc static references. One thought here would be splitting types (and their interface appropriately) to define "static" Types and "scoped" Types... 2) Modify the Type interface to accept either a session or a session factory/entity mode combo for most methods (would not really matter for methods like sqlTypes(), etc) As I mentioned before this then allows us to make the 'hibernate.bytecode.provider' and 'hibernate.bytecode.use_reflection_optimizer'. Down the road, it also allows us to implement discrimination-based inheritance for components. ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ hibernate-devel mailing list hibernate-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hibernate-devel