PSQLException:错误:列不存在位置:8

时间:2017-07-13 11:46:03

标签: java eclipse rest jersey postgresql-9.1

  

org.postgresql.util.PSQLException:ERROR:column" feedbackid"不存在   职位:8

我收到此错误但无法理解这背后的原因。 表明:- **

  

org.postgresql.util.PSQLException:ERROR:column" feedbackid"才不是   提示:也许您打算引用该列   " feedback.feedbackId&#34 ;.职位:8

**

postgres中的数据库表:

create table `company`.`feedback` (

feedbackId int(10)NOT NULL,   feedbackActionId int(12)NOT NULL,   description varchar(200)DEFAULT NULL,   feedbackText varchar(2000)DEFAULT NULL,   email varchar(100)NOT NULL,   createdDate日期非空 );

database table in postgres

public Feedback getFeedbackById(int id) throws SQLException, ClassNotFoundException {
    conn = DBConnection.setDBConnection();
    String sqlQuery = "select feedbackId, feedbackActionId, description, feedbackText, email, createdDate" +
                           "from feedback " + 
                           " where feedbackId = " + id ;
    DBConnection dbConn = new DBConnection();
    ResultSet resultSet = dbConn.getResultSet(sqlQuery, conn);
    int feedbackId = resultSet.getInt("feedbackId");
    int feedbackActionId = resultSet.getInt("feedbackActionId");
    String description = resultSet.getString("description");
    String feedbackText = resultSet.getString("feedbackText");
    String email = resultSet.getString("email");
    Date createdDate = resultSet.getDate("createdDate");
    feedback = new Feedback(feedbackId, feedbackActionId, description, feedbackText, email, createdDate);

    resultSet.close();

    return feedback;
}

提前致谢。

2 个答案:

答案 0 :(得分:0)

这个问题可能会对你有所帮助。看起来Postgres对列名称有些敏感。您可能需要在引号中包含字段名称。 Are PostgreSQL column names case-sensitive?

答案 1 :(得分:0)

请尝试使用: @GeneratedValue(策略= GenerationType.IDENTITY) 在您的POJO类ID字段中。 这件事解决了我的错误。