public class CGLibInstantiator<T>
CGLibInstantiator instantiates class and enhances it to make it persistable. Also it can enhanced already instantiated class. Keep in mind the class name of instantiated or enhanced object will be
different. In fact it will be descendant (inherited) from the passed class/object. The class name is defined by NamingPolicy. By default the policy implementation is org.julp.CGLibNamingPolicy
If you set naming policy to null the class name will be generated by CGLib. It will be like this: [Your class name]$$EnhancerByCGLIB$$[some alphanumeric] i.e. Customer$$EnhancerByCGLIB$$d8f6a6bd.
You can change it by implementing NamingPolicy yourself.