Type is *NOT* a public API... -----Original Message----- From: Max Andersen Sent: Monday, July 17, 2006 10:38 AM To: Steve Ebersole; Hibernate development Subject: Re: [Hibernate] Roadmap - components
...but requires changes to public API so probably best suited for 3.3. > 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 -- -- Max Rydahl Andersen callto://max.rydahl.andersen Hibernate [EMAIL PROTECTED] http://hibernate.org JBoss Inc [EMAIL PROTECTED] ------------------------------------------------------------------------- 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