-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 9 posts ] 
Author Message
 Post subject: CGLIB Enhancement ClassFormatError : Give all my Credits ;)
PostPosted: Thu Aug 17, 2006 11:30 am 
Newbie

Joined: Wed Apr 26, 2006 1:10 pm
Posts: 14
Hi,

I'm trying to use "proxyInterface" with an interface for each persistent class (even in hierarchy). But now, i'm getting this error at the launch of
my test. If i don't use the proxyInterface for single ended, no errors.

In Brief :
I have one presistent class let's call it PersistentObject all objects
inherits from it, plus some hierarchy for some functionnal part.
I have also made a level of interfaces inheriting one to another to respect
the same architecture of persistent objects; i use these interfaces in the proxyInterface attribute.

I try also with latest version of cglib and asm but nothing it's the same result (not the same class but the same result).

Any help would be very appreciated.

Sébastien Boutté

Hibernate version:
3.1.3
Mapping documents:
about 200 hundred
Code between sessionFactory.openSession() and session.close():
Exception occured on openSession()
Full stack trace of any exception that occurs:
GRAVE: CGLIB Enhancement failed: com.eca.businessobjects.core.general.PersistentObjectImpl
net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:237)
at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377)
at net.sf.cglib.proxy.Enhancer.createClass(Enhancer.java:317)
at org.hibernate.proxy.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:126)
at org.hibernate.proxy.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:41)
at org.hibernate.tuple.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:161)
at org.hibernate.tuple.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:131)
at org.hibernate.tuple.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
at org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:64)
at org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:257)
at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:412)
at org.hibernate.persister.entity.JoinedSubclassEntityPersister.<init>(JoinedSubclassEntityPersister.java:90)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:58)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:216)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
at com.eca.EcaHibernateUtil.getSessionFactory(EcaHibernateUtil.java:35)
at com.eca.businessobjects.impl.contrat.EcaFormuleDecesCourtierTest.main(EcaFormuleDecesCourtierTest.java:12)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:384)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:219)
... 16 more
Caused by: java.lang.ClassFormatError: Invalid method Code length 79663 in class file com/eca/businessobjects/impl/produit/EcaTarificateurCodePromotionExterneImplProxyInterface$$EnhancerByCGLIB$$a1cd7d38
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
... 21 more

Name and version of the database you are using:
Postgresql 8.1.3
The generated SQL (show_sql=true):

Debug level Hibernate log excerpt:


Last edited by Broots on Tue Aug 22, 2006 7:01 pm, edited 3 times in total.

Top
 Profile  
 
 Post subject:
PostPosted: Thu Aug 17, 2006 12:46 pm 
Newbie

Joined: Wed Apr 26, 2006 1:10 pm
Posts: 14
After searching a little, and using cglib.debugLocation i found that my class.asm was about 6740 Ko, whaaa it's huge.
I don't undertstand byte code but it seems that this asm implements all
interfaces of all persistent objects so it's enormous.
After starting my eclipse with hibernate sources, i found that but i don't
understand :

in PojoEntityTuplizer :

method buidProxyFactory :

HashSet proxyInterfaces = new HashSet();
proxyInterfaces.add( HibernateProxy.class );

Class mappedClass = persistentClass.getMappedClass();
Class proxyInterface = persistentClass.getProxyInterface();

if ( proxyInterface!=null && !mappedClass.equals( proxyInterface ) ) {
if ( !proxyInterface.isInterface() ) {
throw new MappingException(
"proxy must be either an interface, or the class itself: " +
getEntityName()
);
}
proxyInterfaces.add( proxyInterface );
}

if ( mappedClass.isInterface() ) {
proxyInterfaces.add( mappedClass );
}

Iterator iter = persistentClass.getSubclassIterator();
while ( iter.hasNext() ) {
Subclass subclass = ( Subclass ) iter.next();
Class subclassProxy = subclass.getProxyInterface();
Class subclassClass = subclass.getMappedClass();
if ( subclassProxy!=null && !subclassClass.equals( subclassProxy ) ) {
if ( !proxyInterface.isInterface() ) {
throw new MappingException(
"proxy must be either an interface, or the class itself: " +
subclass.getEntityName()
);
}
proxyInterfaces.add( subclassProxy );
}
}

So it seems, that my root class implements interfaces of all sub classes !!!
I don't understand the reason to do this, maybe i've forgotten something.

This is just my investigation to correct my problem, maybe someone
will have a better idea.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Aug 17, 2006 1:02 pm 
Newbie

Joined: Wed Apr 26, 2006 1:10 pm
Posts: 14
Finally, i've commented the code for "proxying subclass" and now i have no errors but i don't know if it's correct.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Aug 18, 2006 3:44 am 
Newbie

Joined: Wed Apr 26, 2006 1:10 pm
Posts: 14
up


Top
 Profile  
 
 Post subject:
PostPosted: Fri Aug 18, 2006 8:14 am 
Newbie

Joined: Wed Apr 26, 2006 1:10 pm
Posts: 14
Comment on the block was not a good idea ; if i have a class B that inherits from A, ProxyA must implement also Proxy Interface From A and B because the object linked to the proxy is not really loaded (Hibernate can't guess the real proxy interface to implement) so i suppose, that when hibernate generated proxies at start up it has the rule below :
Every Proxy for Peristent Superclass must implement all Proxy Interface from child classes.

After looking at the file asm, it seems that the static block called static CGLIB$STATICHOOK84 is huge about 33469 lines of byte code.
I suspect this static block to cause the ClassFormatError.

I will try to post this question to cglib mailing list too.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Aug 20, 2006 6:37 pm 
Newbie

Joined: Wed Apr 26, 2006 1:10 pm
Posts: 14
up


Top
 Profile  
 
 Post subject:
PostPosted: Mon Aug 21, 2006 4:55 am 
Newbie

Joined: Wed Apr 26, 2006 1:10 pm
Posts: 14
As nobody answers me for the moment, i try to face myself these problem :

My assumption is that CGLIB does not care of JVM Limitations, so he could
potentially create methods and objects not valid for JVM.
http://java.sun.com/docs/books/vmspec/2 ... html#88659

1. I try to modify the code of cglib to have multiple STATICHOOK instead
of one for a specific class ie generate new STATICHOOK block every 20 methods (As example).
2. And change the init method to call all static methods as :

"static <clinit> ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK266 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK267 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK268 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK269 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK270 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK271 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK272 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK273 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK274 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK275 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK276 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK277 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK278 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK279 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK280 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK281 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK282 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK283 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK284 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK285 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK286 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK287 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK288 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK289 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK290 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK291 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK292 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK293 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK294 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK295 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK296 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK297 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK298 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK299 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK300 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK301 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK302 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK303 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK304 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK305 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK306 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK307 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK308 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK309 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK310 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK311 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK312 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK313 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK314 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK315 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK316 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK317 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK318 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK319 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK320 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK321 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK322 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK323 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK324 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK325 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK326 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK327 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK328 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK329 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK330 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK331 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK332 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK333 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK334 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK335 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK336 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK337 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK338 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK339 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK340 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK341 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK342 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK343 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK344 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK345 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK346 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK347 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK348 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK349 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK350 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK351 ()V
INVOKESTATIC com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099 CGLIB$STATICHOOK352 ()V
RETURN
MAXSTACK = 0
MAXLOCALS = 0"

Now, i can go deeper in my program but i'm block at another same error but it is for the FastClassByCGLIB that CGLIB generates.


10:31:58,212 INFO SessionFactoryImpl:154 - building session factory
CGLIB debugging enabled, writing to 'c:\temp\cglib'
coucou
10:32:21,442 INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
Start :Mon Aug 21 10:32:21 CEST 2006
10:32:21,879 DEBUG SQL:346 - select this_.ID as ID0_0_, this_2_.VERSION as VERSION0_0_, this_2_.HISTORIC_START_DATE as HISTORIC3_0_0_, this_2_.HISTORIC_END_DATE as HISTORIC4_0_0_, this_2_.PREDECESSEUR_FK as PREDECES5_0_0_, this_1_.IDENTIFIANT as IDENTIFI2_191_0_, this_1_.NOM as NOM191_0_, this_1_.DATE_DEBUT as DATE4_191_0_, this_1_.DATE_FIN as DATE5_191_0_, this_1_.IS_SEQUENCEUR as IS6_191_0_, this_1_.SEQUENCE as SEQUENCE191_0_, this_1_.PARENT_FK as PARENT8_191_0_, this_.SUPPORT as SUPPORT192_0_, this_.NB_MOIS_COMPTANT as NB3_192_0_, this_.PRODUIT_FK as PRODUIT4_192_0_ from FORMULE this_ inner join TARIFICATEUR this_1_ on this_.ID=this_1_.ID inner join PERSISTENT_OBJECT this_2_ on this_.ID=this_2_.ID where this_1_.IDENTIFIANT like ?
Hibernate: select this_.ID as ID0_0_, this_2_.VERSION as VERSION0_0_, this_2_.HISTORIC_START_DATE as HISTORIC3_0_0_, this_2_.HISTORIC_END_DATE as HISTORIC4_0_0_, this_2_.PREDECESSEUR_FK as PREDECES5_0_0_, this_1_.IDENTIFIANT as IDENTIFI2_191_0_, this_1_.NOM as NOM191_0_, this_1_.DATE_DEBUT as DATE4_191_0_, this_1_.DATE_FIN as DATE5_191_0_, this_1_.IS_SEQUENCEUR as IS6_191_0_, this_1_.SEQUENCE as SEQUENCE191_0_, this_1_.PARENT_FK as PARENT8_191_0_, this_.SUPPORT as SUPPORT192_0_, this_.NB_MOIS_COMPTANT as NB3_192_0_, this_.PRODUIT_FK as PRODUIT4_192_0_ from FORMULE this_ inner join TARIFICATEUR this_1_ on this_.ID=this_1_.ID inner join PERSISTENT_OBJECT this_2_ on this_.ID=this_2_.ID where this_1_.IDENTIFIANT like ?
10:32:22,253 DEBUG SQL:346 - select this_.ID as ID0_0_, this_1_.VERSION as VERSION0_0_, this_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, this_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, this_1_.PREDECESSEUR_FK as PREDECES5_0_0_, this_.NOM as NOM85_0_, this_.INTERVALLE as INTERVALLE85_0_, this_.TYPE_INTERVALLE as TYPE4_85_0_, this_.IDENTIFIANT as IDENTIFI5_85_0_ from PERIODICITE this_ inner join PERSISTENT_OBJECT this_1_ on this_.ID=this_1_.ID where this_.IDENTIFIANT like ?
Hibernate: select this_.ID as ID0_0_, this_1_.VERSION as VERSION0_0_, this_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, this_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, this_1_.PREDECESSEUR_FK as PREDECES5_0_0_, this_.NOM as NOM85_0_, this_.INTERVALLE as INTERVALLE85_0_, this_.TYPE_INTERVALLE as TYPE4_85_0_, this_.IDENTIFIANT as IDENTIFI5_85_0_ from PERIODICITE this_ inner join PERSISTENT_OBJECT this_1_ on this_.ID=this_1_.ID where this_.IDENTIFIANT like ?
10:32:22,269 DEBUG SQL:346 - select this_.ID as ID0_0_, this_1_.VERSION as VERSION0_0_, this_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, this_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, this_1_.PREDECESSEUR_FK as PREDECES5_0_0_, this_.NOM as NOM39_0_, this_.DESCRIPTION as DESCRIPT3_39_0_, this_.TYPE as TYPE39_0_, this_.IDENTIFIANT as IDENTIFI5_39_0_ from VARIABLE_META_MODEL this_ inner join PERSISTENT_OBJECT this_1_ on this_.ID=this_1_.ID where this_.IDENTIFIANT like ?
Hibernate: select this_.ID as ID0_0_, this_1_.VERSION as VERSION0_0_, this_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, this_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, this_1_.PREDECESSEUR_FK as PREDECES5_0_0_, this_.NOM as NOM39_0_, this_.DESCRIPTION as DESCRIPT3_39_0_, this_.TYPE as TYPE39_0_, this_.IDENTIFIANT as IDENTIFI5_39_0_ from VARIABLE_META_MODEL this_ inner join PERSISTENT_OBJECT this_1_ on this_.ID=this_1_.ID where this_.IDENTIFIANT like ?
10:32:22,285 DEBUG SQL:346 - select tarificate0_.TARIFICATEUR_FK as TARIFICA6_1_, tarificate0_.ID as ID1_, tarificate0_.ID as ID0_0_, tarificate0_1_.VERSION as VERSION0_0_, tarificate0_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, tarificate0_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, tarificate0_1_.PREDECESSEUR_FK as PREDECES5_0_0_, tarificate0_.DATE_DEBUT as DATE2_226_0_, tarificate0_.DATE_FIN as DATE3_226_0_, tarificate0_.VARIABLE_META_MODEL_FK as VARIABLE4_226_0_, tarificate0_.SCRIPT_FK as SCRIPT5_226_0_, tarificate0_.TARIFICATEUR_FK as TARIFICA6_226_0_ from TARIFICATEUR_VARIABLES tarificate0_ inner join PERSISTENT_OBJECT tarificate0_1_ on tarificate0_.ID=tarificate0_1_.ID where tarificate0_.TARIFICATEUR_FK=? order by tarificate0_.TARIFICATEUR_FK
Hibernate: select tarificate0_.TARIFICATEUR_FK as TARIFICA6_1_, tarificate0_.ID as ID1_, tarificate0_.ID as ID0_0_, tarificate0_1_.VERSION as VERSION0_0_, tarificate0_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, tarificate0_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, tarificate0_1_.PREDECESSEUR_FK as PREDECES5_0_0_, tarificate0_.DATE_DEBUT as DATE2_226_0_, tarificate0_.DATE_FIN as DATE3_226_0_, tarificate0_.VARIABLE_META_MODEL_FK as VARIABLE4_226_0_, tarificate0_.SCRIPT_FK as SCRIPT5_226_0_, tarificate0_.TARIFICATEUR_FK as TARIFICA6_226_0_ from TARIFICATEUR_VARIABLES tarificate0_ inner join PERSISTENT_OBJECT tarificate0_1_ on tarificate0_.ID=tarificate0_1_.ID where tarificate0_.TARIFICATEUR_FK=? order by tarificate0_.TARIFICATEUR_FK
10:32:22,300 DEBUG SQL:346 - select tarificate0_.ID as ID0_0_, tarificate0_1_.VERSION as VERSION0_0_, tarificate0_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, tarificate0_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, tarificate0_1_.PREDECESSEUR_FK as PREDECES5_0_0_, tarificate0_.IDENTIFIANT as IDENTIFI2_191_0_, tarificate0_.NOM as NOM191_0_, tarificate0_.DATE_DEBUT as DATE4_191_0_, tarificate0_.DATE_FIN as DATE5_191_0_, tarificate0_.IS_SEQUENCEUR as IS6_191_0_, tarificate0_.SEQUENCE as SEQUENCE191_0_, tarificate0_.PARENT_FK as PARENT8_191_0_, tarificate0_2_.SUPPORT as SUPPORT192_0_, tarificate0_2_.NB_MOIS_COMPTANT as NB3_192_0_, tarificate0_2_.PRODUIT_FK as PRODUIT4_192_0_, tarificate0_3_.AYANT_DROITS as AYANT2_193_0_, tarificate0_3_.PRODUIT_GROUPE as PRODUIT3_193_0_, tarificate0_3_.DELAI_RETRACTATION_INFERIEUR as DELAI4_193_0_, tarificate0_3_.DELAI_RETRACTATION_SUPERIEUR as DELAI5_193_0_, tarificate0_3_.RECONDUCTION_AUTOMATIQUE as RECONDUC6_193_0_, tarificate0_3_.DEVISE_FK as DEVISE7_193_0_, tarificate0_3_.ASSUREUR_FK as ASSUREUR8_193_0_, tarificate0_3_.POOL_FK as POOL9_193_0_, tarificate0_3_.CATEGORIE_PRODUIT_FK as CATEGORIE10_193_0_, tarificate0_3_.SOCIETE_FK as SOCIETE11_193_0_, tarificate0_4_.CATEGORIE_GARANTIE_FK as CATEGORIE2_194_0_, tarificate0_4_.ASSUREUR_FK as ASSUREUR3_194_0_, tarificate0_4_.POOL_FK as POOL4_194_0_, tarificate0_4_.FORMULE_FK as FORMULE5_194_0_, case when tarificate0_2_.ID is not null then 192 when tarificate0_3_.ID is not null then 193 when tarificate0_4_.ID is not null then 194 when tarificate0_.ID is not null then 191 end as clazz_0_ from TARIFICATEUR tarificate0_ inner join PERSISTENT_OBJECT tarificate0_1_ on tarificate0_.ID=tarificate0_1_.ID left outer join FORMULE tarificate0_2_ on tarificate0_.ID=tarificate0_2_.ID left outer join PRODUIT tarificate0_3_ on tarificate0_.ID=tarificate0_3_.ID left outer join GARANTIE tarificate0_4_ on tarificate0_.ID=tarificate0_4_.ID where tarificate0_.ID=?
Hibernate: select tarificate0_.ID as ID0_0_, tarificate0_1_.VERSION as VERSION0_0_, tarificate0_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, tarificate0_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, tarificate0_1_.PREDECESSEUR_FK as PREDECES5_0_0_, tarificate0_.IDENTIFIANT as IDENTIFI2_191_0_, tarificate0_.NOM as NOM191_0_, tarificate0_.DATE_DEBUT as DATE4_191_0_, tarificate0_.DATE_FIN as DATE5_191_0_, tarificate0_.IS_SEQUENCEUR as IS6_191_0_, tarificate0_.SEQUENCE as SEQUENCE191_0_, tarificate0_.PARENT_FK as PARENT8_191_0_, tarificate0_2_.SUPPORT as SUPPORT192_0_, tarificate0_2_.NB_MOIS_COMPTANT as NB3_192_0_, tarificate0_2_.PRODUIT_FK as PRODUIT4_192_0_, tarificate0_3_.AYANT_DROITS as AYANT2_193_0_, tarificate0_3_.PRODUIT_GROUPE as PRODUIT3_193_0_, tarificate0_3_.DELAI_RETRACTATION_INFERIEUR as DELAI4_193_0_, tarificate0_3_.DELAI_RETRACTATION_SUPERIEUR as DELAI5_193_0_, tarificate0_3_.RECONDUCTION_AUTOMATIQUE as RECONDUC6_193_0_, tarificate0_3_.DEVISE_FK as DEVISE7_193_0_, tarificate0_3_.ASSUREUR_FK as ASSUREUR8_193_0_, tarificate0_3_.POOL_FK as POOL9_193_0_, tarificate0_3_.CATEGORIE_PRODUIT_FK as CATEGORIE10_193_0_, tarificate0_3_.SOCIETE_FK as SOCIETE11_193_0_, tarificate0_4_.CATEGORIE_GARANTIE_FK as CATEGORIE2_194_0_, tarificate0_4_.ASSUREUR_FK as ASSUREUR3_194_0_, tarificate0_4_.POOL_FK as POOL4_194_0_, tarificate0_4_.FORMULE_FK as FORMULE5_194_0_, case when tarificate0_2_.ID is not null then 192 when tarificate0_3_.ID is not null then 193 when tarificate0_4_.ID is not null then 194 when tarificate0_.ID is not null then 191 end as clazz_0_ from TARIFICATEUR tarificate0_ inner join PERSISTENT_OBJECT tarificate0_1_ on tarificate0_.ID=tarificate0_1_.ID left outer join FORMULE tarificate0_2_ on tarificate0_.ID=tarificate0_2_.ID left outer join PRODUIT tarificate0_3_ on tarificate0_.ID=tarificate0_3_.ID left outer join GARANTIE tarificate0_4_ on tarificate0_.ID=tarificate0_4_.ID where tarificate0_.ID=?
10:32:22,316 DEBUG SQL:346 - select tarificate0_.TARIFICATEUR_FK as TARIFICA6_1_, tarificate0_.ID as ID1_, tarificate0_.ID as ID0_0_, tarificate0_1_.VERSION as VERSION0_0_, tarificate0_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, tarificate0_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, tarificate0_1_.PREDECESSEUR_FK as PREDECES5_0_0_, tarificate0_.DATE_DEBUT as DATE2_226_0_, tarificate0_.DATE_FIN as DATE3_226_0_, tarificate0_.VARIABLE_META_MODEL_FK as VARIABLE4_226_0_, tarificate0_.SCRIPT_FK as SCRIPT5_226_0_, tarificate0_.TARIFICATEUR_FK as TARIFICA6_226_0_ from TARIFICATEUR_VARIABLES tarificate0_ inner join PERSISTENT_OBJECT tarificate0_1_ on tarificate0_.ID=tarificate0_1_.ID where tarificate0_.TARIFICATEUR_FK=? order by tarificate0_.TARIFICATEUR_FK
Hibernate: select tarificate0_.TARIFICATEUR_FK as TARIFICA6_1_, tarificate0_.ID as ID1_, tarificate0_.ID as ID0_0_, tarificate0_1_.VERSION as VERSION0_0_, tarificate0_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, tarificate0_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, tarificate0_1_.PREDECESSEUR_FK as PREDECES5_0_0_, tarificate0_.DATE_DEBUT as DATE2_226_0_, tarificate0_.DATE_FIN as DATE3_226_0_, tarificate0_.VARIABLE_META_MODEL_FK as VARIABLE4_226_0_, tarificate0_.SCRIPT_FK as SCRIPT5_226_0_, tarificate0_.TARIFICATEUR_FK as TARIFICA6_226_0_ from TARIFICATEUR_VARIABLES tarificate0_ inner join PERSISTENT_OBJECT tarificate0_1_ on tarificate0_.ID=tarificate0_1_.ID where tarificate0_.TARIFICATEUR_FK=? order by tarificate0_.TARIFICATEUR_FK
10:32:22,316 DEBUG SQL:346 - select tarificate0_.ID as ID0_0_, tarificate0_1_.VERSION as VERSION0_0_, tarificate0_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, tarificate0_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, tarificate0_1_.PREDECESSEUR_FK as PREDECES5_0_0_, tarificate0_.IDENTIFIANT as IDENTIFI2_191_0_, tarificate0_.NOM as NOM191_0_, tarificate0_.DATE_DEBUT as DATE4_191_0_, tarificate0_.DATE_FIN as DATE5_191_0_, tarificate0_.IS_SEQUENCEUR as IS6_191_0_, tarificate0_.SEQUENCE as SEQUENCE191_0_, tarificate0_.PARENT_FK as PARENT8_191_0_, tarificate0_2_.SUPPORT as SUPPORT192_0_, tarificate0_2_.NB_MOIS_COMPTANT as NB3_192_0_, tarificate0_2_.PRODUIT_FK as PRODUIT4_192_0_, tarificate0_3_.AYANT_DROITS as AYANT2_193_0_, tarificate0_3_.PRODUIT_GROUPE as PRODUIT3_193_0_, tarificate0_3_.DELAI_RETRACTATION_INFERIEUR as DELAI4_193_0_, tarificate0_3_.DELAI_RETRACTATION_SUPERIEUR as DELAI5_193_0_, tarificate0_3_.RECONDUCTION_AUTOMATIQUE as RECONDUC6_193_0_, tarificate0_3_.DEVISE_FK as DEVISE7_193_0_, tarificate0_3_.ASSUREUR_FK as ASSUREUR8_193_0_, tarificate0_3_.POOL_FK as POOL9_193_0_, tarificate0_3_.CATEGORIE_PRODUIT_FK as CATEGORIE10_193_0_, tarificate0_3_.SOCIETE_FK as SOCIETE11_193_0_, tarificate0_4_.CATEGORIE_GARANTIE_FK as CATEGORIE2_194_0_, tarificate0_4_.ASSUREUR_FK as ASSUREUR3_194_0_, tarificate0_4_.POOL_FK as POOL4_194_0_, tarificate0_4_.FORMULE_FK as FORMULE5_194_0_, case when tarificate0_2_.ID is not null then 192 when tarificate0_3_.ID is not null then 193 when tarificate0_4_.ID is not null then 194 when tarificate0_.ID is not null then 191 end as clazz_0_ from TARIFICATEUR tarificate0_ inner join PERSISTENT_OBJECT tarificate0_1_ on tarificate0_.ID=tarificate0_1_.ID left outer join FORMULE tarificate0_2_ on tarificate0_.ID=tarificate0_2_.ID left outer join PRODUIT tarificate0_3_ on tarificate0_.ID=tarificate0_3_.ID left outer join GARANTIE tarificate0_4_ on tarificate0_.ID=tarificate0_4_.ID where tarificate0_.ID=?
Hibernate: select tarificate0_.ID as ID0_0_, tarificate0_1_.VERSION as VERSION0_0_, tarificate0_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, tarificate0_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, tarificate0_1_.PREDECESSEUR_FK as PREDECES5_0_0_, tarificate0_.IDENTIFIANT as IDENTIFI2_191_0_, tarificate0_.NOM as NOM191_0_, tarificate0_.DATE_DEBUT as DATE4_191_0_, tarificate0_.DATE_FIN as DATE5_191_0_, tarificate0_.IS_SEQUENCEUR as IS6_191_0_, tarificate0_.SEQUENCE as SEQUENCE191_0_, tarificate0_.PARENT_FK as PARENT8_191_0_, tarificate0_2_.SUPPORT as SUPPORT192_0_, tarificate0_2_.NB_MOIS_COMPTANT as NB3_192_0_, tarificate0_2_.PRODUIT_FK as PRODUIT4_192_0_, tarificate0_3_.AYANT_DROITS as AYANT2_193_0_, tarificate0_3_.PRODUIT_GROUPE as PRODUIT3_193_0_, tarificate0_3_.DELAI_RETRACTATION_INFERIEUR as DELAI4_193_0_, tarificate0_3_.DELAI_RETRACTATION_SUPERIEUR as DELAI5_193_0_, tarificate0_3_.RECONDUCTION_AUTOMATIQUE as RECONDUC6_193_0_, tarificate0_3_.DEVISE_FK as DEVISE7_193_0_, tarificate0_3_.ASSUREUR_FK as ASSUREUR8_193_0_, tarificate0_3_.POOL_FK as POOL9_193_0_, tarificate0_3_.CATEGORIE_PRODUIT_FK as CATEGORIE10_193_0_, tarificate0_3_.SOCIETE_FK as SOCIETE11_193_0_, tarificate0_4_.CATEGORIE_GARANTIE_FK as CATEGORIE2_194_0_, tarificate0_4_.ASSUREUR_FK as ASSUREUR3_194_0_, tarificate0_4_.POOL_FK as POOL4_194_0_, tarificate0_4_.FORMULE_FK as FORMULE5_194_0_, case when tarificate0_2_.ID is not null then 192 when tarificate0_3_.ID is not null then 193 when tarificate0_4_.ID is not null then 194 when tarificate0_.ID is not null then 191 end as clazz_0_ from TARIFICATEUR tarificate0_ inner join PERSISTENT_OBJECT tarificate0_1_ on tarificate0_.ID=tarificate0_1_.ID left outer join FORMULE tarificate0_2_ on tarificate0_.ID=tarificate0_2_.ID left outer join PRODUIT tarificate0_3_ on tarificate0_.ID=tarificate0_3_.ID left outer join GARANTIE tarificate0_4_ on tarificate0_.ID=tarificate0_4_.ID where tarificate0_.ID=?
10:32:22,488 DEBUG SQL:346 - select tarificate0_.TARIFICATEUR_FK as TARIFICA6_1_, tarificate0_.ID as ID1_, tarificate0_.ID as ID0_0_, tarificate0_1_.VERSION as VERSION0_0_, tarificate0_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, tarificate0_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, tarificate0_1_.PREDECESSEUR_FK as PREDECES5_0_0_, tarificate0_.DATE_DEBUT as DATE2_226_0_, tarificate0_.DATE_FIN as DATE3_226_0_, tarificate0_.VARIABLE_META_MODEL_FK as VARIABLE4_226_0_, tarificate0_.SCRIPT_FK as SCRIPT5_226_0_, tarificate0_.TARIFICATEUR_FK as TARIFICA6_226_0_ from TARIFICATEUR_VARIABLES tarificate0_ inner join PERSISTENT_OBJECT tarificate0_1_ on tarificate0_.ID=tarificate0_1_.ID where tarificate0_.TARIFICATEUR_FK=? order by tarificate0_.TARIFICATEUR_FK
Hibernate: select tarificate0_.TARIFICATEUR_FK as TARIFICA6_1_, tarificate0_.ID as ID1_, tarificate0_.ID as ID0_0_, tarificate0_1_.VERSION as VERSION0_0_, tarificate0_1_.HISTORIC_START_DATE as HISTORIC3_0_0_, tarificate0_1_.HISTORIC_END_DATE as HISTORIC4_0_0_, tarificate0_1_.PREDECESSEUR_FK as PREDECES5_0_0_, tarificate0_.DATE_DEBUT as DATE2_226_0_, tarificate0_.DATE_FIN as DATE3_226_0_, tarificate0_.VARIABLE_META_MODEL_FK as VARIABLE4_226_0_, tarificate0_.SCRIPT_FK as SCRIPT5_226_0_, tarificate0_.TARIFICATEUR_FK as TARIFICA6_226_0_ from TARIFICATEUR_VARIABLES tarificate0_ inner join PERSISTENT_OBJECT tarificate0_1_ on tarificate0_.ID=tarificate0_1_.ID where tarificate0_.TARIFICATEUR_FK=? order by tarificate0_.TARIFICATEUR_FK
10:32:22,488 DEBUG SQL:346 - select produitimp0_.ID as ID0_0_, produitimp0_2_.VERSION as VERSION0_0_, produitimp0_2_.HISTORIC_START_DATE as HISTORIC3_0_0_, produitimp0_2_.HISTORIC_END_DATE as HISTORIC4_0_0_, produitimp0_2_.PREDECESSEUR_FK as PREDECES5_0_0_, produitimp0_1_.IDENTIFIANT as IDENTIFI2_191_0_, produitimp0_1_.NOM as NOM191_0_, produitimp0_1_.DATE_DEBUT as DATE4_191_0_, produitimp0_1_.DATE_FIN as DATE5_191_0_, produitimp0_1_.IS_SEQUENCEUR as IS6_191_0_, produitimp0_1_.SEQUENCE as SEQUENCE191_0_, produitimp0_1_.PARENT_FK as PARENT8_191_0_, produitimp0_.AYANT_DROITS as AYANT2_193_0_, produitimp0_.PRODUIT_GROUPE as PRODUIT3_193_0_, produitimp0_.DELAI_RETRACTATION_INFERIEUR as DELAI4_193_0_, produitimp0_.DELAI_RETRACTATION_SUPERIEUR as DELAI5_193_0_, produitimp0_.RECONDUCTION_AUTOMATIQUE as RECONDUC6_193_0_, produitimp0_.DEVISE_FK as DEVISE7_193_0_, produitimp0_.ASSUREUR_FK as ASSUREUR8_193_0_, produitimp0_.POOL_FK as POOL9_193_0_, produitimp0_.CATEGORIE_PRODUIT_FK as CATEGORIE10_193_0_, produitimp0_.SOCIETE_FK as SOCIETE11_193_0_ from PRODUIT produitimp0_ inner join TARIFICATEUR produitimp0_1_ on produitimp0_.ID=produitimp0_1_.ID inner join PERSISTENT_OBJECT produitimp0_2_ on produitimp0_.ID=produitimp0_2_.ID where produitimp0_.ID=?
Hibernate: select produitimp0_.ID as ID0_0_, produitimp0_2_.VERSION as VERSION0_0_, produitimp0_2_.HISTORIC_START_DATE as HISTORIC3_0_0_, produitimp0_2_.HISTORIC_END_DATE as HISTORIC4_0_0_, produitimp0_2_.PREDECESSEUR_FK as PREDECES5_0_0_, produitimp0_1_.IDENTIFIANT as IDENTIFI2_191_0_, produitimp0_1_.NOM as NOM191_0_, produitimp0_1_.DATE_DEBUT as DATE4_191_0_, produitimp0_1_.DATE_FIN as DATE5_191_0_, produitimp0_1_.IS_SEQUENCEUR as IS6_191_0_, produitimp0_1_.SEQUENCE as SEQUENCE191_0_, produitimp0_1_.PARENT_FK as PARENT8_191_0_, produitimp0_.AYANT_DROITS as AYANT2_193_0_, produitimp0_.PRODUIT_GROUPE as PRODUIT3_193_0_, produitimp0_.DELAI_RETRACTATION_INFERIEUR as DELAI4_193_0_, produitimp0_.DELAI_RETRACTATION_SUPERIEUR as DELAI5_193_0_, produitimp0_.RECONDUCTION_AUTOMATIQUE as RECONDUC6_193_0_, produitimp0_.DEVISE_FK as DEVISE7_193_0_, produitimp0_.ASSUREUR_FK as ASSUREUR8_193_0_, produitimp0_.POOL_FK as POOL9_193_0_, produitimp0_.CATEGORIE_PRODUIT_FK as CATEGORIE10_193_0_, produitimp0_.SOCIETE_FK as SOCIETE11_193_0_ from PRODUIT produitimp0_ inner join TARIFICATEUR produitimp0_1_ on produitimp0_.ID=produitimp0_1_.ID inner join PERSISTENT_OBJECT produitimp0_2_ on produitimp0_.ID=produitimp0_2_.ID where produitimp0_.ID=?
Exception in thread "main" java.lang.ExceptionInInitializerError
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at org.hibernate.proxy.CGLIBLazyInitializer.getProxy(CGLIBLazyInitializer.java:99)
at org.hibernate.proxy.CGLIBProxyFactory.getProxy(CGLIBProxyFactory.java:47)
at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)
at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3122)
at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:232)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:830)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266)
at org.hibernate.type.EntityType.resolve(EntityType.java:303)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
at org.hibernate.loader.Loader.doQuery(Loader.java:717)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:47)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:41)
at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2730)
at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:365)
at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:346)
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:123)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:82)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:820)
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:62)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:98)
at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:158)
at org.hibernate.proxy.HibernateProxy$$EnhancerByCGLIB$$b94b9686.generateVariablesIfNecessary(<generated>)
at com.eca.businessobjects.core.produit.FormuleImpl.generateVariablesIfNecessary(FormuleImpl.java:183)
at com.eca.businessobjects.impl.produit.EcaTarificateurImplProxyInterface$$FastClassByCGLIB$$a3fb6640.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:161)
at com.eca.businessobjects.impl.produit.EcaFormuleImplProxyInterface$$EnhancerByCGLIB$$6af77871.generateVariablesIfNecessary(<generated>)
at com.eca.businessobjects.core.produit.TarificateurImpl.generateVariablesIfNecessary(TarificateurImpl.java:608)
at com.eca.businessobjects.core.produit.FormuleImpl.generateVariablesIfNecessary(FormuleImpl.java:180)
at com.eca.businessobjects.impl.produit.EcaTarificateurImplProxyInterface$$FastClassByCGLIB$$a3fb6640.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:161)
at com.eca.businessobjects.impl.produit.EcaFormuleImplProxyInterface$$EnhancerByCGLIB$$6af77871.generateVariablesIfNecessary(<generated>)
at com.eca.businessobjects.core.produit.TarificateurImpl.generateVariablesIfNecessary(TarificateurImpl.java:608)
at com.eca.businessobjects.core.produit.FormuleImpl.generateVariablesIfNecessary(FormuleImpl.java:180)
at com.eca.businessobjects.core.contrat.ContratAssuranceImpl.generateVariablesIfNecessary(ContratAssuranceImpl.java:294)
at com.eca.businessobjects.impl.contrat.EcaContratAssuranceOutremerUtils.createContratAssuranceOutremer(EcaContratAssuranceOutremerUtils.java:70)
at com.eca.businessobjects.impl.contrat.EcaContratAssuranceOutremerUtils.createContratAssuranceInternet(EcaContratAssuranceOutremerUtils.java:79)
at com.eca.businessobjects.impl.contrat.EcaFormuleOutremerInternetTest.main(EcaFormuleOutremerInternetTest.java:22)
Caused by: net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:237)
at net.sf.cglib.reflect.FastClass$Generator.create(FastClass.java:64)
at net.sf.cglib.proxy.MethodProxy.helper(MethodProxy.java:81)
at net.sf.cglib.proxy.MethodProxy.create(MethodProxy.java:47)
at com.eca.businessobjects.impl.personnes.EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099.CGLIB$STATICHOOK266(<generated>)
at com.eca.businessobjects.impl.personnes.EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099.<clinit>(<generated>)
... 52 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:384)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:219)
... 57 more
Caused by: java.lang.ClassFormatError: Invalid method Code length 79752 in class file com/eca/businessobjects/impl/personnes/EcaFaxImplProxyInterface$$EnhancerByCGLIB$$ffb66099$$FastClassByCGLIB$$a62bfa6c
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
... 62 more


Top
 Profile  
 
 Post subject:
PostPosted: Mon Aug 21, 2006 1:36 pm 
Newbie

Joined: Wed Apr 26, 2006 1:10 pm
Posts: 14
For FastClassByCGLIB, it's more difficult because here you have to rewrite the following pattern with one getIndex for every xx methods (20) ;

// FastClassCGLIB generated method on proxy
public int getIndex(String name) {
switch(name.hasCode()) {
case 1 : return xxx;
case 2 : return xxx;
...
default : return -1;
}
}

The problem is that these method is too long ; you have to cut it and replace by :

public int getIndex1(String name) {
switch(name.hasCode()) {
case 1 : return xxx;
case 2 : return xxx;
...
default : return -1;
}
}

public int getIndex2(String name) {
switch(name.hasCode()) {
case 4 : return xxx;
case 5 : return xxx;
...
default : return -1;
}
}

....
public int getIndex(String name) {
int result = getindex1(name);
if (result == -1) {
result = getindex2(name);
if (result == -1) {
...
}
}
return -1;
}

It's more difficult than precedent case because you have to understand byte code ... not my case.
Anyway, when i was young, i've enjoyed programming my HP48GX at school and later programming Sun Ultrasparc (assembler) at University
it was not so difficult ... it's just a matter of push and pop ;)
I've started modification for FastClass and some refactoring in my business methods (get rid of instanceof, getClass() ...) and now it works !!!!!! Hourra !!! What a beautiful day !!! It's really my day ...
Sorry, to be so enthousiast, since 4 days, i'm on the problem and i'm only
one (vacations ...)

To conclude, IT's VERY IMPORTANT to activate proxy mode for single ended proxy, the prefer way i think is to deal with proxy interface reproducing your domain hierarchy. I come to implement proxy mode
for single ended since i've huge problems in performance (The mother persistent class has a relation (0...1) ... (0...1) on her).
Now, my results are :

TestCase : Financial calculus for Insurance Contract
With Proxy mode activated, it takes 22 seconds.
and 3 minute and 19 seconds if not.

Don't forget to rate, if you've found my post useful !!!


Top
 Profile  
 
 Post subject:
PostPosted: Tue Aug 22, 2006 6:41 pm 
Newbie

Joined: Wed Apr 26, 2006 1:10 pm
Posts: 14
http://sourceforge.net/mailarchive/foru ... m_id=12922


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 9 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.