org.hibernate.proxy.pojo.javassist

Class JavassistProxyFactory

Implemented Interfaces:
ProxyFactory, Serializable

public class JavassistProxyFactory
extends java.lang.Object
implements ProxyFactory, Serializable

A ProxyFactory implementation for producing Javassist-based proxies.
Author:
Muga Nishizawa

Field Summary

protected static Class[]
NO_CLASSES

Method Summary

HibernateProxy
getProxy(Serializable id, SessionImplementor session)
Create a new proxy instance
void
postInstantiate(String entityName, Class persistentClass, Set interfaces, Method getIdentifierMethod, Method setIdentifierMethod, AbstractComponentType componentIdType)
Called immediately after instantiation of this factory.

Field Details

NO_CLASSES

protected static final Class[] NO_CLASSES

Method Details

getProxy

public HibernateProxy getProxy(Serializable id,
                               SessionImplementor session)
            throws HibernateException
Create a new proxy instance
Specified by:
getProxy in interface ProxyFactory
Parameters:
id - The id value for the proxy to be generated.
session - The session to which the generated proxy will be associated.
Returns:
The generated proxy.
Throws:
HibernateException - Indicates problems generating the requested proxy.

postInstantiate

public void postInstantiate(String entityName,
                            Class persistentClass,
                            Set interfaces,
                            Method getIdentifierMethod,
                            Method setIdentifierMethod,
                            AbstractComponentType componentIdType)
            throws HibernateException
Called immediately after instantiation of this factory.

Essentially equivalent to contructor injection, but contracted here via interface.

Specified by:
postInstantiate in interface ProxyFactory
Parameters:
entityName - The name of the entity for which this factory should generate proxies.
persistentClass - The entity class for which to generate proxies; not always the same as the entityName.
interfaces - The interfaces to expose in the generated proxy; HibernateProxy is already included in this collection.
getIdentifierMethod - Reference to the identifier getter method; invocation on this method should not force initialization
setIdentifierMethod - Reference to the identifier setter method; invocation on this method should not force initialization
componentIdType - For composite identifier types, a reference to the type of the identifier property; again accessing the id should generally not cause initialization - but need to bear in mind mappings.
Throws:
HibernateException - Indicates a problem completing post instantiation initialization.