On Mon, 17 Jul 2006 17:41:25 +0200, Steve Ebersole <[EMAIL PROTECTED]> wrote:
> Type is *NOT* a public API... but UserType is - don't they need access to this info too ? /max > > -----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