![](/img/trans.png)
[英]Problem with JpaRepository - SQLException: Invalid column name
[英]SQLException: Invalid Column Name…?
我有一個JSP文件,該文件將在Eclipse,Maven和Tomcat的幫助下部署在Java項目中。 我還有一些其他的JSP文件與此文件幾乎相同,盡管它們運行不同的操作。 無論如何,當我轉到頁面時,我已經給出了:
org.apache.jasper.JasperException: An exception occurred processing JSP page /entertime2.jsp at line 106
103: rsBug = psBug.executeQuery();
104:
105: while(rsBug.next()) {
106: Bug b = new Bug(rsBug);
107: out.println("<option value='" + b.get(Bug.BUG_ID) + "'>" + b.get(Bug.TITLE) + "</option>");
108: }
109: rsBug.close();
root cause
javax.servlet.ServletException: java.sql.SQLException: Invalid column name ixPersonOpenedBy.
Bug是一個自定義類,可以接收結果集rsBug
並執行以下操作:
setValue(Bug.BUG_ID,rs.getString(Bug.BUG_ID));
setValue(Bug.PERSON_OPENED_BY,rs.getString(Bug.PERSON_OPENED_BY));
setValue(Bug.PERSON_ASSIGNED_TO,rs.getString(Bug.PERSON_ASSIGNED_TO));
setValue(Bug.TITLE, rs.getString(Bug.TITLE));
setValue(Bug.PROJECT_ID,rs.getString(Bug.PROJECT_ID));
其中BUG_ID,PERSON_OPENED_BY,PERSON_ASSIGNED_TO,TITLE和PROJECT_ID都是Bug類的所有字符串成員,它們與數據庫中存儲的Bug表中的列名相對應。 現在,表中有一個ixPersonOpenedBy
列,但以前從未給我任何問題。 我不確定它是否與我嘗試執行的SQL語句有關,但是我之前在其他JSP之一中使用了EXACT相同的語句,並且沒有給我帶來任何麻煩。 此外,該錯誤在項目的早期部署中不會彈出。 我在一個不相關的變量中有一個錯字,一旦修正,這個家伙突然冒出來。
無論如何,當我知道“應該”列有效時,誰能看到為什么會出現此錯誤? 如果您需要查看數據庫中更多的JSP,Bug類或Bug表,請告訴我; 任何幫助表示贊賞。
編輯:這是我正在使用的兩個SQL語句,但我不確定是否其中一個引起了問題。
SELECT p.ixPerson, p.sFullName
FROM Person p, jwTeamMembers t
WHERE p.ixPerson = t.ixPerson
ORDER BY p.sFullName ASC
SELECT b.ixBug, b.sTitle
FROM Bug b, Person per, Project p, Area a, jwTime t, jwTeamMembers m, jwTeam jt, Status s, jwDivision d
WHERE per.ixPerson = t.ixPerson AND t.ixBug = b.ixBug AND b.ixProject = p.ixProject AND b.ixArea = a.ixArea
AND per.ixPerson = m.ixPerson AND m.ixTeam = jt.ixTeam AND b.ixStatus = s.ixStatus AND a.ixDivision *= d.ixDivision
AND (per.ixPerson = ?)
GROUP BY b.ixBug, b.sTitle
ORDER BY b.ixBug DESC
第二條語句中的參數填充為:
psBug.setInt(1, Integer.valueOf(personId).intValue());
java.sql.SQLException:無效的列名ixPersonOpenedBy。
SELECT
不會返回提到的列。
實際上,您的兩個SELECT
查詢都沒有指定該列。 相應地修復它。 例如
SELECT b.ixBug, b.sTitle, b.ixPersonOpenedBy
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.