我體驗了我目前使用hibernate 3.6.2-final和ehcache 2.6.2分析的錯誤。使用自定義休眠類型時ehcache錯誤?
我最近開始使用自定義類型來處理數據庫中存儲爲「OUI」/「NON」的值,作爲java中的布爾值。
我正在使用org.hibernate.type.YesNoType的改編。這部分工作。
當我打開的Ehcache上,我得到一個高速緩存命中以下錯誤:在對象上進行設置字符串值企圖被處理,因爲屬性是一個boolean值,失敗......
在我的日誌中,我有: 在類中的IllegalArgumentException:fr.senat.base_senateurs.libsen.hbm.Dpt,setter方法的屬性:evetempub 預期類型:java.lang.Boolean,實際值:java.lang.String
兩個有趣的例外是:
org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of fr.senat.base_senateurs.libsen.hbm.Dpt.evetempub
org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:128)
org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:583)
org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:229)
org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3847)
org.hibernate.cache.entry.CacheEntry.assemble(CacheEntry.java:137)
org.hibernate.cache.entry.CacheEntry.assemble(CacheEntry.java:104)
org.hibernate.event.def.DefaultLoadEventListener.assembleCacheEntry(DefaultLoadEventListener.java:651)
org.hibernate.event.def.DefaultLoadEventListener.loadFromSecondLevelCache(DefaultLoadEventListener.java:605)
org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:459)
org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:147)
org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:1026)
org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:176)
org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
fr.senat.base_senateurs.libsen.hbm.Dpt_$$_javassist_77.getDptlib(Dpt_$$_javassist_77.java)
sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
javax.el.BeanELResolver.getValue(BeanELResolver.java:87)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67)
org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:179)
org.apache.el.parser.AstValue.getValue(AstValue.java:183)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
org.apache.webbeans.el.WrappedValueExpression.getValue(WrappedValueExpression.java:68)
org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.getValue(ContextAwareTagValueExpression.java:96)
javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:249)
javax.faces.component.UIOutput.getValue(UIOutput.java:67)
org.apache.myfaces.shared.renderkit.RendererUtils.getValue(RendererUtils.java:491)
org.apache.myfaces.shared.renderkit.RendererUtils.getStringValue(RendererUtils.java:334)
org.apache.myfaces.shared.renderkit.html.HtmlTextRendererBase.renderOutput(HtmlTextRendererBase.java:92)
org.apache.myfaces.shared.renderkit.html.HtmlTextRendererBase.encodeEnd(HtmlTextRendererBase.java:79)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:663)
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:543)
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:539)
org.primefaces.component.datatable.DataTableRenderer.encodeRegularCell(DataTableRenderer.java:743)
org.primefaces.component.datatable.DataTableRenderer.encodeRow(DataTableRenderer.java:695)
org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:603)
org.primefaces.component.datatable.DataTableRenderer.encodeRegularTable(DataTableRenderer.java:220)
org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:192)
org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:74)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:663)
javax.faces.component.UIData.encodeEnd(UIData.java:1699)
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:543)
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:539)
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:539)
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:539)
org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1981)
org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:285)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:116)
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241)
org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.render(CodiLifecycleWrapper.java:126)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:199)
fr.senat.faces.filters.HibernateNoSessionRequestFilter.doFilter(HibernateNoSessionRequestFilter.java:44)
和
java.lang.IllegalArgumentException: [email protected]
sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:66)
org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:583)
org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:229)
org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3847)
org.hibernate.cache.entry.CacheEntry.assemble(CacheEntry.java:137)
org.hibernate.cache.entry.CacheEntry.assemble(CacheEntry.java:104)
org.hibernate.event.def.DefaultLoadEventListener.assembleCacheEntry(DefaultLoadEventListener.java:651)
org.hibernate.event.def.DefaultLoadEventListener.loadFromSecondLevelCache(DefaultLoadEventListener.java:605)
org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:459)
org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:147)
org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:1026)
org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:176)
org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
fr.senat.base_senateurs.libsen.hbm.Dpt_$$_javassist_77.getDptlib(Dpt_$$_javassist_77.java)
sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
javax.el.BeanELResolver.getValue(BeanELResolver.java:87)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67)
org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:179)
org.apache.el.parser.AstValue.getValue(AstValue.java:183)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
org.apache.webbeans.el.WrappedValueExpression.getValue(WrappedValueExpression.java:68)
org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.getValue(ContextAwareTagValueExpression.java:96)
javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:249)
javax.faces.component.UIOutput.getValue(UIOutput.java:67)
org.apache.myfaces.shared.renderkit.RendererUtils.getValue(RendererUtils.java:491)
org.apache.myfaces.shared.renderkit.RendererUtils.getStringValue(RendererUtils.java:334)
org.apache.myfaces.shared.renderkit.html.HtmlTextRendererBase.renderOutput(HtmlTextRendererBase.java:92)
org.apache.myfaces.shared.renderkit.html.HtmlTextRendererBase.encodeEnd(HtmlTextRendererBase.java:79)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:663)
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:543)
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:539)
org.primefaces.component.datatable.DataTableRenderer.encodeRegularCell(DataTableRenderer.java:743)
org.primefaces.component.datatable.DataTableRenderer.encodeRow(DataTableRenderer.java:695)
org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:603)
org.primefaces.component.datatable.DataTableRenderer.encodeRegularTable(DataTableRenderer.java:220)
org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:192)
org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:74)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:663)
javax.faces.component.UIData.encodeEnd(UIData.java:1699)
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:543)
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:539)
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:539)
javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:539)
org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1981)
org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:285)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:116)
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241)
org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.render(CodiLifecycleWrapper.java:126)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:199)
fr.senat.faces.filters.HibernateNoSessionRequestFilter.doFilter(HibernateNoSessionRequestFilter.java:44)
你有一個想法(除了停止使用二級緩存:-))?