signer information does not match signer...
Hello, I am getting an error when trying to use lazy loading. The root cause seems to be this exception: signer information does not match signer information of other classes in the same package Does anyone have an idea how I can fix this problem or what is actually wrong? Below is the entire exception. Thanks, Jeremy Caused by: com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in com/advancedpricing/model/MbrFile.xml. --- The error occurred while applying a result map. --- Check the MbrFile.MbrFileResult. --- Check the result mapping for the 'uploadedBy' property. --- Cause: net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException--null at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:204) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139) at com.ibatis.sqlmap.engine.mapping.statement.CachingStatement.executeQueryForList(CachingStatement.java:97) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94) at com.ibatis.sqlmap.engine.mapping.result.loader.ResultLoader.getResult(ResultLoader.java:70) at com.ibatis.sqlmap.engine.mapping.result.loader.EnhancedLazyResultLoader$EnhancedLazyResultLoaderImpl.loadObject(EnhancedLazyResultLoader.java:137) ... 41 more 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.proxy.Enhancer.createHelper(Enhancer.java:377) at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:285) at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:663) at com.ibatis.sqlmap.engine.mapping.result.loader.EnhancedLazyResultLoader$EnhancedLazyResultLoaderImpl.loadResult(EnhancedLazyResultLoader.java:111) at com.ibatis.sqlmap.engine.mapping.result.loader.EnhancedLazyResultLoader.loadResult(EnhancedLazyResultLoader.java:62) at com.ibatis.sqlmap.engine.mapping.result.loader.ResultLoader.loadResult(ResultLoader.java:51) at com.ibatis.sqlmap.engine.mapping.result.ResultMap.getNestedSelectMappingValue(ResultMap.java:510) at com.ibatis.sqlmap.engine.mapping.result.ResultMap.getResults(ResultMap.java:341) at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:384) at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults(SqlExecutor.java:300) at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:189) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteQuery(MappedStatement.java:221) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189) ... 49 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:384) at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:219) ... 62 more Caused by: java.lang.SecurityException: class com.advancedpricing.model.User$$EnhancerByCGLIB$$3dfb4502's signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(ClassLoader.java:776) at java.lang.ClassLoader.preDefineClass(ClassLoader.java:488) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) ... 67 more Exception in thread AWT-EventQueue-0 java.lang.NullPointerException at $java.util.List$$EnhancerByCGLIB$$3d64e829.size(generated) at com.advancedpricing.dragon.gui.ClaimAttachedFilesPanel$FileTableModel.getRowCount(ClaimAttachedFilesPanel.java:79) at com.jidesoft.grid.TableModelWrapperImpl.getRowCount(Unknown Source) at com.jidesoft.grid.DefaultTableModelWrapper.getRowCount(Unknown Source) at com.jidesoft.grid.TableModelWrapperImpl.getRowCount(Unknown Source) at com.jidesoft.grid.DefaultTableModelWrapper.getRowCount(Unknown Source) at javax.swing.JTable.getRowCount(JTable.java:2640) at javax.swing.plaf.basic.BasicTableUI.createTableSize(BasicTableUI.java:1649) at
Re: signer information does not match signer...
It's really confusing as the this problem just started. The application is already deployed to many users and has been for a few months now. Now, when making a change to it, this starts happening. The change was unrelated, actually a fix in spelling of a dialog box. An SVN diff shows that nothing to do with model classes or mapping classes have changed. I was hoping that someone else has run across this problem before because even with the 9000 pages (which I searched for before sending an email) it seems to be a needle in a haystack as related to here. Jeremy Larry Meadors wrote: Sounds like you have some sort of security policy in place, maybe? Google gives me about 9000 pages for signer information does not match signer information of other classes in the same package. I'd start there. :-) Larry On Tue, Mar 24, 2009 at 9:47 AM, Jeremy Cowgar jer...@cowgar.com wrote: Hello, I am getting an error when trying to use lazy loading. The root cause seems to be this exception: signer information does not match signer information of other classes in the same package Does anyone have an idea how I can fix this problem or what is actually wrong? Below is the entire exception. Thanks, Jeremy Caused by: com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in com/advancedpricing/model/MbrFile.xml. --- The error occurred while applying a result map. --- Check the MbrFile.MbrFileResult. --- Check the result mapping for the 'uploadedBy' property. --- Cause: net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException--null at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:204) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139) at com.ibatis.sqlmap.engine.mapping.statement.CachingStatement.executeQueryForList(CachingStatement.java:97) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94) at com.ibatis.sqlmap.engine.mapping.result.loader.ResultLoader.getResult(ResultLoader.java:70) at com.ibatis.sqlmap.engine.mapping.result.loader.EnhancedLazyResultLoader$EnhancedLazyResultLoaderImpl.loadObject(EnhancedLazyResultLoader.java:137) ... 41 more 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.proxy.Enhancer.createHelper(Enhancer.java:377) at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:285) at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:663) at com.ibatis.sqlmap.engine.mapping.result.loader.EnhancedLazyResultLoader$EnhancedLazyResultLoaderImpl.loadResult(EnhancedLazyResultLoader.java:111) at com.ibatis.sqlmap.engine.mapping.result.loader.EnhancedLazyResultLoader.loadResult(EnhancedLazyResultLoader.java:62) at com.ibatis.sqlmap.engine.mapping.result.loader.ResultLoader.loadResult(ResultLoader.java:51) at com.ibatis.sqlmap.engine.mapping.result.ResultMap.getNestedSelectMappingValue(ResultMap.java:510) at com.ibatis.sqlmap.engine.mapping.result.ResultMap.getResults(ResultMap.java:341) at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:384) at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults(SqlExecutor.java:300) at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:189) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteQuery(MappedStatement.java:221) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189) ... 49 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:384) at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:219) ... 62 more Caused by: java.lang.SecurityException: class com.advancedpricing.model.User$$EnhancerByCGLIB$$3dfb4502's signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(ClassLoader.java:776) at java.lang.ClassLoader.preDefineClass(ClassLoader.java:488) at java.lang.ClassLoader.defineClass(ClassLoader.java:615
Re: signer information does not match signer...
I have to sign the .jar files that I develop because they are launched via webstart. It seems that the classes (in the same package) that iBatis is creating are not signed, therefore I am getting this error. Does anyone know how to correct this problem? Jeremy Jeremy Cowgar wrote: Hello, I am getting an error when trying to use lazy loading. The root cause seems to be this exception: signer information does not match signer information of other classes in the same package Does anyone have an idea how I can fix this problem or what is actually wrong? Below is the entire exception. Thanks, Jeremy Caused by: com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in com/advancedpricing/model/MbrFile.xml. --- The error occurred while applying a result map. --- Check the MbrFile.MbrFileResult. --- Check the result mapping for the 'uploadedBy' property. --- Cause: net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException--null at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:204) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139) at com.ibatis.sqlmap.engine.mapping.statement.CachingStatement.executeQueryForList(CachingStatement.java:97) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94) at com.ibatis.sqlmap.engine.mapping.result.loader.ResultLoader.getResult(ResultLoader.java:70) at com.ibatis.sqlmap.engine.mapping.result.loader.EnhancedLazyResultLoader$EnhancedLazyResultLoaderImpl.loadObject(EnhancedLazyResultLoader.java:137) ... 41 more 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.proxy.Enhancer.createHelper(Enhancer.java:377) at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:285) at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:663) at com.ibatis.sqlmap.engine.mapping.result.loader.EnhancedLazyResultLoader$EnhancedLazyResultLoaderImpl.loadResult(EnhancedLazyResultLoader.java:111) at com.ibatis.sqlmap.engine.mapping.result.loader.EnhancedLazyResultLoader.loadResult(EnhancedLazyResultLoader.java:62) at com.ibatis.sqlmap.engine.mapping.result.loader.ResultLoader.loadResult(ResultLoader.java:51) at com.ibatis.sqlmap.engine.mapping.result.ResultMap.getNestedSelectMappingValue(ResultMap.java:510) at com.ibatis.sqlmap.engine.mapping.result.ResultMap.getResults(ResultMap.java:341) at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:384) at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults(SqlExecutor.java:300) at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:189) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteQuery(MappedStatement.java:221) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189) ... 49 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:384) at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:219) ... 62 more Caused by: java.lang.SecurityException: class com.advancedpricing.model.User$$EnhancerByCGLIB$$3dfb4502's signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(ClassLoader.java:776) at java.lang.ClassLoader.preDefineClass(ClassLoader.java:488) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) ... 67 more Exception in thread AWT-EventQueue-0 java.lang.NullPointerException at $java.util.List$$EnhancerByCGLIB$$3d64e829.size(generated) at com.advancedpricing.dragon.gui.ClaimAttachedFilesPanel$FileTableModel.getRowCount(ClaimAttachedFilesPanel.java:79) at com.jidesoft.grid.TableModelWrapperImpl.getRowCount(Unknown Source) at com.jidesoft.grid.DefaultTableModelWrapper.getRowCount(Unknown Source
Re: signer information does not match signer...
Jeff Butler wrote: Here's a link to a Hibernate forum thread with the same problem. I don't work with signed jars so this is a bit beyond me, but this does at least claim to have an answer. http://forum.hibernate.org/viewtopic.php?t=946925start=0 Jeff, Thank you that looks like exactly what I need. I'm not at a place I can try it right now, but first thing in the morning I'll give it a go and report back so we can have the result in iBatis's mailing list archives as well. Jeremy
1:1 JOIN vs. caching
Hello, I am curious about 1:1 relations and the cache. For instance, on my claim model, it links to a claim status. There are only 30 possible statuses. The status table contains 15 fields. Instead of linking in via a JOIN the claim status table each time I query a claim, would I be better off to lazy load the relation and set the cache for the claim statuses table to hold 50 objects? Thus, once loaded they will always be cached? -- Best regards, Jeremy
Re: Same relational link, multiple times, different names
Larry, Yes, I know how to do this via SQL. What I do not know how to do is map it via the XML mapping. Right now I have something like: (in User.xml) resultMap id=userBasicMap class=User result property=id column=USER_ID / result property=code column=USER_CODE / ... rest of props ... /resultMap (in Claim.xml) resultMap id=claimBasicResultMap class=Claim result property=blah. column=blah / result property=cleric? resultMap=userBasicMap / /resultMap select id=claimGet resultMap=claimBasicResultMap SELECT blah, blah, blah, cleric.id as CLERIC_USER_ID, cleric.code AS CLERIC_USER_CODE, ... same for doc, pricer, ... FROM claim WHERE id=#id# /select I was trying to avoid mapping the User table 3 times in claimBasicResultMap. It seems as though I will have to map it three times? As well as a claim relates to a statuses table twice, a provider table twice (billing and payto) as well as the patient table twice (actual patient, then the insured). That seems like a lot of repetitive work. Granted, it only has to be done once but... Jeremy Larry Meadors wrote: You'll have to either use position (bad idea) or alias the results (do that): select blah, blah, blah, cleric.user_id as clericUserId, /* other cleric.fields as clericXxx */ doctor.user_id as doctorUserId, /* other pricer.fields as pricerXxx */ pricer.user_id as pricerUserId /* other pricer.fields as pricerXxx */ from claim join user cleric on claim.cleric_id = cleric.user_id join user doctor on claim.doctor_id = doctor.user_id join user pricer on claim.pricer_id = pricer.user_id where /* whatever */ Remember, ibatis just runs your sql, then maps the results to objects - it's doesn't know (or care) what the SQL is or the source of the results. Larry Jeremy Cowgar wrote: Hello, I have a Users table then a Claim table. The Claim table links to the User table many times. For instance: cleric_id, doctor_id, pricer_id ... all of those are different users performing well defined roles with the claim. I know how to link 1 of them via a SqlMap. I have a resultSet defined but it's field names are like: USER_ID, USER_CODE, USER_FIRST_NAME, USER_LAST_NAME. How can I handle mapping CLERIC_ID, CLERIC_CODE, ... DOCTOR_ID, DOCTOR_CODE, ... in one select with out having to create 3 resultMaps ? Thank you, Jeremy
Same relational link, multiple times, different names
Hello, I have a Users table then a Claim table. The Claim table links to the User table many times. For instance: cleric_id, doctor_id, pricer_id ... all of those are different users performing well defined roles with the claim. I know how to link 1 of them via a SqlMap. I have a resultSet defined but it's field names are like: USER_ID, USER_CODE, USER_FIRST_NAME, USER_LAST_NAME. How can I handle mapping CLERIC_ID, CLERIC_CODE, ... DOCTOR_ID, DOCTOR_CODE, ... in one select with out having to create 3 resultMaps ? Thank you, Jeremy