【发布时间】:2012-08-27 19:19:20
【问题描述】:
我有一个基于 Apache Tomcat + Hibernate 的应用程序。我有一个 MyModel 类和一个装饰 MyModel 类型对象的 MyViewModel 类。
当我收到请求时,我会在 Map 中返回多个 MyViewModel 实例。假设一个实例是 x。当我尝试访问${x.comments} 时,我得到一个属性未找到异常。
我仔细检查了 MyModel 是否包含 getComments() 和 setComments() 方法。 MyViewModel 还包含 getComments() 方法,该方法在装饰对象上调用 getComments(),如果返回 null,则返回空字符串。
现在令人惊讶的是,昨天当我在代码中的任何地方添加 cmets 字段时,这段代码仍然有效。我的数据库仍然有 cmets 字段。但不知何故,bean 没有被正确识别。
我已经对代码进行了一些更改,现在我正在使用 jquery-ui 来访问该页面,但我看不出这应该有什么不同,因为我可以访问除 cmets 字段之外的所有其他字段。
Hibernate 日志显示选择查询未获取 cmets 字段。
我尝试重新启动服务器,我的 Eclipse IDE 似乎没有任何工作。
你能帮我找出问题吗?
提前致谢!
【问题讨论】:
-
如果使用Tomcat,停止tomcat,删除$TOMCAT_HOME/work/Catalina/*目录并重启tomcat。
-
我的工作目录中没有任何内容。我有 apache-tomcat-7.0.29。
-
另外,如果我将
${x.comments}替换为${x.another_field},它就可以正常工作。不知何故,没有正确识别到“cmets”字段的映射。是否有故障排除清单以确保 JPA 代码正确识别我的表字段? -
我发现 Eclipse 正在从工作区的 .metadata 目录运行 webapp。在那里找到 catalina 目录,将其删除。重新启动了服务器。还是不行:(
-
还尝试将服务器运行位置切换到原始 Apache Tomcat 安装目录。没有帮助...
标签: java hibernate jsp spring-mvc managed-bean