From: Max R. A. <max...@jb...> - 2006-07-17 15:43:02
|
On Mon, 17 Jul 2006 17:41:25 +0200, Steve Ebersole = <ste...@jb...> 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 tha= t >> ComponentType would then require access to the session factory (in > order >> to locate the persister) from within methods where it is currently no= t >> 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 th= e >> scoping of Types. The solution is one of two things: >> 1) Devise some sort of scoping scheme where Types can unequivocally b= e >> "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 als= o >> 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 jo= b > >> easier >> Download IBM WebSphere Application Server v.1.0.1 based on Apache >> Geronimo >> > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&da= t=3D121642 >> _______________________________________________ >> hibernate-devel mailing list >> hib...@li... >> https://lists.sourceforge.net/lists/listinfo/hibernate-devel > > > -- = -- Max Rydahl Andersen callto://max.rydahl.andersen Hibernate ma...@hi... http://hibernate.org JBoss Inc max...@jb... |