[hibernate-dev] Hibernate.getImplementation(Object)

Emmanuel Bernard emmanuel at hibernate.org
Wed May 23 18:45:50 EDT 2007


For Hibernate Search I came to a problem.
When a user choose field access.
When I access a previously uninitialized object, and even if I  
initialize it (Hibernate.initialize()).

The field access End up returning null all the time because of the  
way lazy loading is done. I worked around that using some of the code  
from Hibernate.initialize()

		if ( value instanceof HibernateProxy ) {
			value = ( ( HibernateProxy ) value ).getHibernateLazyInitializer()
					.getImplementation();
		}

But it seems it really should be part of the Hibernate class contract.

I could use

		Hibernate.initialize(value);
		value = session.get( Hibernate.getClass(value),  
session.getIdentifier(value) );

but at the present time, it's hard for me to access the session, and  
conceptually speaking there is no real need for it.

How about exposing this service in Hibernate class either

		value = Hibernate.initialize(value); //changing the return value
or
		value = Hibernate.getImplementation(value);

WDYT?



More information about the hibernate-dev mailing list