org.hibernate.PropertyAccessException:IllegalArgumentException [英] org.hibernate.PropertyAccessException: IllegalArgumentException

查看:105
本文介绍了org.hibernate.PropertyAccessException:IllegalArgumentException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在研究Hibernate映射,其他一切工作都很好,除了我在获得Hibernate试图将我的对象持久化到系统时的PropertyAccessException。
以下是堆栈跟踪

  org.hibernate.PropertyAccessException:调用com.raisonne.tr的getter时发生IllegalArgumentException。 org.hibernate.getIdentifier(AbstractEntityTuplizer())。 .java:199)
org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:3605)
org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:3321)
org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:204)
org.hibernate.engine.ForeignKeys $ Nullifier.isNullifiable(ForeignKeys.java:160)
org.hibernate.engine .ForeignKeys $ Nullifier.nullifyTransientReferences(ForeignKeys.java:92)
org.hibernate.engine.ForeignKeys $ Nullifier.nullifyTransientReferences(ForeignKeys.java:70)
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:311)
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
组织。 hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
org.hibernate.event.def。 DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener。 java:93)
org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:535)
org.hibernate.impl.SessionImpl.saveOrUpdate(SessionI mpl.java:527)
org.hibernate.engine.CascadingAction $ 5.cascade(CascadingAction.java:241)
org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:292)
org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:240)
org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:193)
org.hibernate.engine.Cascade.cascadeCollectionElements (Cascade.java:320)
org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:266)
org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:243)
org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:193)
org.hibernate.engine.Cascade.cascade(Cascade.java:154)
org.hibernate.event.def.AbstractSaveEventListener .cascadeAfterSave(AbstractSaveEventListener.java:479)
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:357)
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventLis tener.java:204)
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)

org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
org。 hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:535)
org.hibernate.impl.SessionImpl.saveOrUpdate( SessionImpl.java:527)
org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:523)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl .invoke (未知源)
sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)
java.lang.reflect.Method.invoke(未知源)
org.hibernate.context.ThreadLocalSessionContext $ TransactionProtectionWrapper。 invoke(ThreadLocalSessionContext.java:342)
$ Proxy17.saveOrUpdate(Unknown Source)
com.raisonne.tr.dao.impl.GenericDAOImpl.makePersistance(GenericDAOImpl.java:170)
com。 raisonne.tr.service.impex.impl.DestinationImportServiceImpl.startDestinationImport(DestinationImportServiceImpl.java:130)
com.raisonne.tr.backoffice.actions.impex.DestinationImportAction.destinationImport(DestinationImportAction.java:118)
sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)
sun.reflect.NativeMethodAccessorImpl.invoke(未知源代码)
sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源代码)
java.lang.reflect .Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.i nvokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony。 xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor。 doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.inv oke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com。 opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor。 intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInte
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2。 DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com。 opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor .intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java :267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)
com .opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor .intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176 )
com.opensymphony.x work2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation。 java:248)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.impl。 StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction( ExecuteOperations.java:77)
org.apache.struts2.dispa tcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core。 ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve。 java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache。 coyote.http11.Http11Processor.process(Http11Processor.java:857)
org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process (Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(未知来源)


java.lang.IllegalArgumentException:object不是声明类的实例

sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)
sun.reflect .NativeMethodAccessorImpl.invoke(未知源)
sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)
java.lang.reflect.Method.invoke(未知源)
org.hibernate.property。 BasicPropertyAccessor $ BasicGetter.get(BasicPropertyAccessor.java:169)
org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:199)
org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier( AbstractEntityPersister.java:3605)
org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:3321)
org.hibernate.engine.ForeignKeys.i sTransient(ForeignKeys.java:204)
org.hibernate.engine.ForeignKeys $ Nullifier.isNullifiable(ForeignKeys.java:160)
org.hibernate.engine.ForeignKeys $ Nullifier.nullifyTransientReferences(ForeignKeys.java: 92)
$ org.hibernate.engine.ForeignKeys Nullifier.nullifyTransientReferences(ForeignKeys.java:70)
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:311)
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)
org.hibernate.event。 def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.perfor (默认保存或更新事件监听器.java:117)
org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:527)
org.hibernate.engine.CascadingAction $ 5.cascade(CascadingAction.java:241)
org.hibernate.engine .Cascade.cascadeToOne(Cascade.java:292)
org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:240)
org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:193 )
org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:320)
org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:266)
org.hibernate.engine .Cascade.cascadeAssociation(Cascade.java:243)
org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:193)
org.hibernate.engine.Cascade.cascade(Cascade.java:154 )

这里是getter和setter方法的代码

  public String getUuid(){
return uuid;
}

public void setUuid(String uuid){
this.uuid = uuid;
}

,映射部分为

 < id name =uuidtype =java.lang.String> 
< column name =UUID/>
< generator class =uuid/>
< / id>

我是hibernate的新手,所以不太清楚到底什么是我的目标类所关注的问题其他类也持续坚持我坚持Destination class



在这方面的任何帮助是非常appricitaed

Edit1



那么这个问题似乎与我在Destination类中以及映射文件中定义的关系有关。

 私人设定< PlaceToVisit> placesToVisit = new HashSet< PlaceToVisit>(); 

public Set< PlaceToVisit> getPlacesToVisit(){
返回placesToVisit;
}

public void setPlacesToVisit(Set< PlaceToVisit> placesToVisit){
this.placesToVisit = placesToVisit;
}

public void addPlaceToVisit(PlaceToVisit placeToVisit){
placeToVisit.setDestination(this);
this.placesToVisit.add(placeToVisit);
}

以及将文件映射为

 < set name =placesToVisittable =PLACETOVISITinverse =falselazy =truecascade =save-update> 
< key>
< column name =DESTINATIONID/>
< / key>
<一对多课程=PlaceToVisit/>
< / set>

而我在PlaceToVisit类中有以下内容:

 < id name =uuidtype =java.lang.String> 
< column name =UUID/>
< generator class =uuid/>
< / id>

< property name =nametype =java.lang.String>
< column name =NAME/>
< / property>

<多对一名称=目的地class =目的地fetch =加入>
< column name =DESTINATION/>
< /多对一>

以及此类的其他getter setter



当我从目标类中删除关联的所有参考时,一切工作正常,但在目标映射文件中添加了任何关系条目,向我展示了上述错误。 方案

这个错误可能是由于其他类型的对象被发现在类型为 Destination 的对象所期望的地方。例如,如果某些其他类通过未经检查的转换偶然添加到 Collection< Destination> 中。

>

I am working on hibernate mapping and everything else was working fine except the PropertyAccessException i am getting when hibernate trying to persist my object in to the system. below is the stack trace

org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of com.raisonne.tr.model.destination.Destination.uuid

    org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:195)
    org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:199)
    org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:3605)
    org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:3321)
    org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:204)
    org.hibernate.engine.ForeignKeys$Nullifier.isNullifiable(ForeignKeys.java:160)
    org.hibernate.engine.ForeignKeys$Nullifier.nullifyTransientReferences(ForeignKeys.java:92)
    org.hibernate.engine.ForeignKeys$Nullifier.nullifyTransientReferences(ForeignKeys.java:70)
    org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:311)
    org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
    org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:535)
    org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:527)
    org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:241)
    org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:292)
    org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:240)
    org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:193)
    org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:320)
    org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:266)
    org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:243)
    org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:193)
    org.hibernate.engine.Cascade.cascade(Cascade.java:154)
    org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:479)
    org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:357)
    org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
    org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:535)
    org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:527)
    org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:523)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:342)
    $Proxy17.saveOrUpdate(Unknown Source)
    com.raisonne.tr.dao.impl.GenericDAOImpl.makePersistance(GenericDAOImpl.java:170)
    com.raisonne.tr.service.impex.impl.DestinationImportServiceImpl.startDestinationImport(DestinationImportServiceImpl.java:130)
    com.raisonne.tr.backoffice.actions.impex.DestinationImportAction.destinationImport(DestinationImportAction.java:118)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
    com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
    org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
    org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    java.lang.Thread.run(Unknown Source)


java.lang.IllegalArgumentException: object is not an instance of declaring class

    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:169)
    org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:199)
    org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:3605)
    org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:3321)
    org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:204)
    org.hibernate.engine.ForeignKeys$Nullifier.isNullifiable(ForeignKeys.java:160)
    org.hibernate.engine.ForeignKeys$Nullifier.nullifyTransientReferences(ForeignKeys.java:92)
    org.hibernate.engine.ForeignKeys$Nullifier.nullifyTransientReferences(ForeignKeys.java:70)
    org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:311)
    org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
    org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:535)
    org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:527)
    org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:241)
    org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:292)
    org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:240)
    org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:193)
    org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:320)
    org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:266)
    org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:243)
    org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:193)
    org.hibernate.engine.Cascade.cascade(Cascade.java:154)

here is the code of the getter and setter methods

public String getUuid() {
    return uuid;
}

public void setUuid(String uuid) {
    this.uuid = uuid;
}

and the mapping portion is

<id name="uuid" type="java.lang.String">
    <column name="UUID" />
    <generator class="uuid"/>
</id>

i am new to hibernate so not much idea what exactly is the problem my destination class has refrence to few other class which are also getting persist when i am persisting Destination class

any help in this regard is much appricitaed

Edit1

Well the problem seems to be with respect to the relation i have defined in the Destination class as well in the mapping file..

private Set<PlaceToVisit> placesToVisit=new HashSet<PlaceToVisit>();

public Set<PlaceToVisit> getPlacesToVisit() {
    return placesToVisit;
}

public void setPlacesToVisit(Set<PlaceToVisit> placesToVisit) {
    this.placesToVisit = placesToVisit;
}

public void addPlaceToVisit(PlaceToVisit placeToVisit){
    placeToVisit.setDestination(this);
    this.placesToVisit.add(placeToVisit);
}

as well in mapping file as

<set name="placesToVisit" table="PLACETOVISIT" inverse="false" lazy="true" cascade="save-update">
    <key>
        <column name="DESTINATIONID" />
    </key>
    <one-to-many class="PlaceToVisit" />
</set>

while i have following in the PlaceToVisit class

<id name="uuid" type="java.lang.String">
    <column name="UUID" />
    <generator class="uuid"/>
</id>

<property name="name" type="java.lang.String">
    <column name="NAME" />
</property>

<many-to-one name="destination" class="Destination" fetch="join">
    <column name="DESTINATION" />
</many-to-one>

and other getter setter for this class

when i am removing all refrences of the associations from the destination class everything working fine but adding any relation entry in Destination mapping file showing me the above described error.

解决方案

This error may be caused by the fact that the object of some other type was found where the object of type Destination was expected.

For example, if some other class was accidentially added to Collection<Destination> via unchecked cast.

这篇关于org.hibernate.PropertyAccessException:IllegalArgumentException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆