diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java index fd9b8440f..dc53967e3 100644 --- a/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java +++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java @@ -305,7 +305,18 @@ public class JSONWriter { } catch (Exception ex) { LOG.debug(ex.getMessage(), ex); } - } else { + + //in hibernate4.3.7,because javassist3.18.1's class name generate rule is '_$$_jvst'+... + } else if(clazz.getName().contains("$$_jvst")){ + try { + baseAccessor = Class.forName( + clazz.getName().substring(0, clazz.getName().indexOf("_$$"))) + .getMethod(accessor.getName(), accessor.getParameterTypes()); + } catch (Exception ex) { + LOG.debug(ex.getMessage(), ex); + } + } + else { return accessor; } return baseAccessor;