我繼承了一個 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
提交
取消
