Type is *NOT* a public API...

-----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