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