-->
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.  [ 3 posts ] 
Author Message
 Post subject: "IllegalArgumentException occurred while calling setter"
PostPosted: Fri Sep 03, 2010 6:53 pm 
Newbie

Joined: Fri Sep 03, 2010 6:45 pm
Posts: 2
What is the cause of the following IllegalArgumentException and how can I prevent Hibernate from throwing it?

Though the exception seems to be a symptom of a mapping mismatch between column "USER_RV" in table "TB_USER" and property "User.rv", it strangely occurs only after I enable RMI replication for the User cache. It does not occur after I disable RMI replication.

Could this exception be due to a bug in Hibernate or Ehcache?

Code:
Caused by: org.springframework.orm.hibernate3.HibernateSystemException:
IllegalArgumentException occurred while calling setter of
com.db.spgit.abstrack.model.User.rv; nested exception is
org.hibernate.PropertyAccessException: IllegalArgumentException
occurred while calling setter of com.db.spgit.abstrack.model.User.rv
       at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:676)
       at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
       at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
       at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
       at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:1055)
       at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:1048)
       at com.db.abstrack.dao.hibernate.AbstrackDaoHibernate.findByCriteria(AbstrackDaoHibernate.java:57)
       at com.db.abstrack.dao.hibernate.UserDaoHibernate.loadByName(UserDaoHibernate.java:63)
       at com.db.spgit.abstrack.manager.QuoteManager.populateUser(QuoteManager.java:330)
       at com.db.spgit.abstrack.manager.QuoteManager.populateOwnerUK(QuoteManager.java:307)
       at com.db.spgit.abstrack.manager.QuoteManager.populateGuids(QuoteManager.java:254)
       at com.db.spgit.abstrack.manager.QuoteManager.addQuoteReturnVwRfqUK(QuoteManager.java:429)
       at com.db.spgit.abstrack.manager.QuoteManager$$FastClassByCGLIB$$d817accb.invoke(<generated>)
       at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
       at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
       at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
       at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
       at com.db.spgit.abstrack.manager.QuoteManager$$EnhancerByCGLIB$$cc8d0025.addQuoteReturnVwRfqUK(<generated>)
       at com.db.abstrack.ejb.RfqBean.addRfqDraftListUK(RfqBean.java:370)
       ... 59 more
    Caused by: org.hibernate.PropertyAccessException:
IllegalArgumentException occurred while calling setter of
com.db.spgit.abstrack.model.User.rv
       at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:104)
       at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)
       at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)
       at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3514)
       at org.hibernate.cache.entry.CacheEntry.assemble(CacheEntry.java:116)
       at org.hibernate.cache.entry.CacheEntry.assemble(CacheEntry.java:82)
       at org.hibernate.event.def.DefaultLoadEventListener.assembleCacheEntry(DefaultLoadEventListener.java:553)
       at org.hibernate.event.def.DefaultLoadEventListener.loadFromSecondLevelCache(DefaultLoadEventListener.java:508)
       at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:357)
       at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:139)
       at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:179)
       at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:103)
       at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
       at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:846)
       at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:557)
       at org.hibernate.type.ManyToOneType.assemble(ManyToOneType.java:196)
       at org.hibernate.cache.StandardQueryCache.get(StandardQueryCache.java:130)
       at org.hibernate.loader.Loader.getResultFromQueryCache(Loader.java:2152)
       at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2117)
       at org.hibernate.loader.Loader.list(Loader.java:2087)
       at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:95)
       at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
       at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
       at org.springframework.orm.hibernate3.HibernateTemplate$36.doInHibernate(HibernateTemplate.java:1065)
       at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
       ... 77 more
    Caused by: java.lang.IllegalArgumentException:
java.lang.ClassCastException at 6be0d6
       at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42)
       ... 101 more


Definition of class "User":

Code:
@Entity
@Proxy(lazy=false)
@Cache(usage=CacheConcurrencyStrategy.TRANSACTIONAL)
@Table(name="TB_USER"
    ,schema="ABSOL_USER"
)
public class User  implements java.io.Serializable {
     private String id;
     private String userName;
     private Integer rv;

     public User() {
     }

     public User(String userName, Integer rv) {
        this.userName = userName;
        this.rv = rv;
     }

     @GenericGenerator(name="generator", strategy="guid")@Id @GeneratedValue(generator="generator")

     @Column(name="USER_ID", unique=true, nullable=false)
     public String getId() {
        return this.id;
     }

     public void setId(String id) {
         this.id = id;
     }

     @Column(name="USER_NAME", nullable=false, length=20)
     public String getUserName() {
         return this.userName;
     }

     public void setUserName(String userName) {
         this.userName = userName;
     }

     @Column(name="USER_RV", precision=22, scale=0)
     public Integer getRv() {
         return this.rv;
     }

     public void setRv(Integer rv) {
         this.rv = rv;
     }
}


Definition of table "TB_USER":

Code:
CREATE TABLE "ABSOL_OWNER"."TB_USER"(
    "USER_ID" RAW(16) DEFAULT SYS_GUID(),
    "USER_NAME" VARCHAR2(20 CHAR) NOT NULL ENABLE,
    "USER_RV" NUMBER NOT NULL ENABLE,
    PRIMARY KEY ("USER_ID")
)


Environment:

  • Hibernate 3.3.2.GA
  • Ehcache 2.2.0
  • WebLogic Server 10.3.2
  • Oracle database
  • Caching User objects
  • Enabled RMI cache replication via remote key invalidation


Top
 Profile  
 
 Post subject: Re: "IllegalArgumentException occurred while calling setter"
PostPosted: Fri Nov 12, 2010 10:08 am 
Newbie

Joined: Fri Sep 03, 2010 6:45 pm
Posts: 2
This exception appears to be due to a bug in Hibernate.


Top
 Profile  
 
 Post subject: Re: "IllegalArgumentException occurred while calling setter"
PostPosted: Wed Dec 15, 2010 10:28 am 
Newbie

Joined: Wed Dec 15, 2010 8:24 am
Posts: 4
I am getting similar error. I tried setting hibernate.cache.use_structured_entries to true. but i am still getting same error.

I added more details here viewtopic.php?f=1&t=1008700

PLease suggest.

Thanks and Regards
Chetan


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 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.