我有一个使用hibernate设置的数据库。在我的jsp页面中,我显示了一个表单来插入值,然后我将这些值传递给我的java类,然后将该条目保存到数据库中,这样可以正常工作,但是当我想从我的表中显示数据时它给了我错误
org.apache.jasper.el.JspPropertyNotFoundException: /list_object.jsp(45,0) '${objectManager.allObjects}' The class 'ObjectManager$$EnhancerByCGLIB$$b2d7311' does not have the property 'allObjects'
对于
行<c:forEach var="object" items="${objectManager.allObjects}">
在
<c:forEach var="object" items="${objectManager.allObjects}">
<tr>
<td><c:out value="${object.objectID}"/></td>
<td><c:out value="${object.objectRule}"/></td>
</tr>
</c:forEach>
我认为这是Hibernate-Proxy-Object的一个问题,但我用另一个表/ bean运行相同的操作
<c:forEach var="object" items="${objectManager.allLayouts}">
它运行得非常好。我检查了我的xml配置文件和我的hbm.xml配置,并且bean设置正确。我不知道错误源自何处,以及为什么它适用于一个Spring-bean而不适用于另一个
编辑:
@Transactional
public class ObjectManager{
private SessionFactory sessionFactory;
public void saveObject(Objects object){
getCurrentSession().save(object);
}
@SupressWarnings("unchecked")
public Iterable<Objects> getAllObjects(){
return getCurrentSession().createCriteria(Objects.class)
.addOrder(Order.desc("objectID"))
.list():
}
答案 0 :(得分:0)
我认为错误是非常自我解释的。
getAllObjects()
对象没有objectManager
方法。
您的工作示例使用的是另一种方法 - getAllLayouts()
。