小编dub*_*nic的帖子

插入枚举值时如何解决“无法推断用于枚举实例的 SQL 类型”错误?

我正在尝试开发一个简单的 CRUD 应用程序,它接收 JSON 格式的数据,对其进行处理,并将其放入 PostgreSQL 表中。表中的字段之一性别由枚举表示。

在这里,我尝试使用 Postman 添加一个条目:

{
    "employeeId": 1,
    "firstName": "Ada",
    "lastName": "Lovelace",
    "departmentId": 3,
    "jobTitle": "Senior",
    "gender": "FEMALE",
    "dateOfBirth": "1815-12-10"
}
Run Code Online (Sandbox Code Playgroud)

这是 DAO 层代码:

@Override
public void addEmployee(Employee employee) {
    String sql = "INSERT INTO employees(employee_id, first_name, last_name, department_id, job_title, gender, date_of_birth) VALUES (?, ?, ?, ?, ?, CAST(? AS gender), ?)";
    getJdbcTemplate().update(sql, employee.getEmployeeId(), employee.getFirstName(), employee.getLastName(),
            employee.getDepartmentId(), employee.getJobTitle(), employee.getGender(), employee.getDateOfBirth());
}
Run Code Online (Sandbox Code Playgroud)

结果,我得到: 500 Internal Server Error 和

"PreparedStatementCallback; bad SQL grammar [INSERT INTO employees(employee_id, first_name, …
Run Code Online (Sandbox Code Playgroud)

java postgresql enums jdbc postman

5
推荐指数
1
解决办法
9498
查看次数

标签 统计

enums ×1

java ×1

jdbc ×1

postgresql ×1

postman ×1