point taken. > Well Type and UserType do not necessarily need to be in synch in this > particular regard. We could conceivably change Type and then later > (i.e. as part of a major release) change the UserType API to align it. > After all the whole point of the UserType stuff was to insulate the user > from changes in the underlying Type system... > > -----Original Message----- > From: Max Andersen > Sent: Monday, July 17, 2006 10:43 AM > To: Steve Ebersole; Hibernate development > Subject: Re: [Hibernate] Roadmap - components > > 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