0

我有一个用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():
      }
4

1 回答 1

0

我认为这个错误是不言自明的。

对象没有getAllObjects()方法objectManager

您的工作示例使用不同的方法 - getAllLayouts().

于 2012-06-06T18:30:41.173 回答