休眠映射新列导致登录失败

我继承了一个 struts 和 hibernate 应用程序。我们需要修改一个表以包含一些额外的列。我运行了一个更改表脚本来手动添加列。我向我的模型 java 文件以及我的 hibermate hbm 文件添加了额外的列属性。


但是,当我编译并运行应用程序时,它启动得很好。但是在登录我的应用程序时出现错误。


如果我从 hbm 中删除属性标签,我可以毫无问题地登录。当 hbm 中存在新的属性标签时,它会在登录时失败。我在这里缺少什么?我试过重新编译应用程序,但它似乎没有任何效果。


编辑 这是我得到的唯一堆栈跟踪,它输出到我的屏幕,而不是在 tomcat 或为应用程序设置的任何其他记录器中。


javax.servlet.jsp.JspException: Define tag cannot set a null value

at 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 目录,但我不确定这是否会产生任何影响。


陪伴而非守候
浏览 157回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java