Hibernate version: 3.1
Weblogic 8.1
Some cglib and Hibernate 3.1 behaviour is causing the Weblogic 8.1 JSP
expression language to fail in retrieving values that are indirectly
referenced. For example if ClassA with the following structure
Code:
public ClassA {
private String str = null;
private ClassB classB = null;
public String getStr () {
return str;
}
public ClassB getClassB () {
return classB;
}
}
And ClassB as
Code:
public ClassB {
private Integer id = null;
public Integer getId () {
return id;
}
public String toString() {
return getId().toString();
}
}
The JSP-EL pageflow variables behave as shown below
Code:
{pageFlow.classA.str} displays correctly
{pageFlow.classA.classB.id} returns a null.
{pageFlow.classA.classB} returns the corresponding toString()
When debugging the persistent object is displayed as
var= OffenderDetail$$EnhancerByCGLIB$$c831f4bb (id=37)
All other objects are displayed in the debugger as
session= SessionImpl (id=37)
The same code works with Hibernate 2.1.7 but fails with Hibernate 3.1.
What are the implications of the new cglib changes in Hibernate 3.1?
Thanks.
Josh