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

Reply via email to