我继承了一个 struts 和 hibernate 应用程序。我们需要修改一个表以包含一些额外的列。我运行了一个更改表脚本来手动添加列。我向我的模型 java 文件以及我的 hibermate hbm 文件添加了额外的列属性。但是,当我编译并运行应用程序时,它启动得很好。但是在登录我的应用程序时出现错误。如果我从 hbm 中删除属性标签,我可以毫无问题地登录。当 hbm 中存在新的属性标签时,它会在登录时失败。我在这里缺少什么?我试过重新编译应用程序,但它似乎没有任何效果。编辑 这是我得到的唯一堆栈跟踪,它输出到我的屏幕,而不是在 tomcat 或为应用程序设置的任何其他记录器中。javax.servlet.jsp.JspException: Define tag cannot set a null valueat org.apache.struts.taglib.bean.DefineTag.doEndTag(DefineTag.java:236)at org.apache.jsp.pages.v2.Main_jsp._jspService(Main_jsp.java:391)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)at controller.LoginServlet.doPost(LoginServlet.java:233)我一直在做一些挖掘,发现我正在使用 hibernate 3,并且在我的 hiberbate.cfg.xml 文件中,我的配置中没有这个属性,但是,添加它似乎没有任何区别。<property name="hibernate.hbm2ddl.auto">validate</property>我还找到了一个 .hibernateSynchronizer3 目录,但我不确定这是否会产生任何影响。
添加回答
举报
0/150
提交
取消