【发布时间】:2017-05-09 06:51:42
【问题描述】:
我在将整数数组插入 Postgresql 表时遇到问题,我该如何处理?
String sql = "INSERT INTO draw_result (id, ball_numbers, balls_with_mega_ball, draw_dates, mega_plier) VALUES(?, ?, ?, ?, ?)";
Object[] params = {randomNumbers, ballNumbers, ballNumbersMegaBall, drawDates, megaPlier};
jdbcTemplate.update(sql, params);
其中ballNumbers 和ballNumbersMegaBall 是ArrayList。用 2 位数字填充。
这是 PostgreSQL 表:
CREATE TABLE public.draw_result
(
id bigint NOT NULL,
draw_dates date,
ball_numbers bigint[],
balls_with_mega_ball bigint[],
mega_plier bigint,
CONSTRAINT draw_result_pkey PRIMARY KEY (id)
)
这是来自 Springboot 的错误:
出现意外错误(类型=内部服务器错误,状态=500)。 PreparedStatementCallback;错误的 SQL 语法 [INSERT INTO draw_result (id, >ball_numbers, balls_with_mega_ball, draw_dates, mega_plier) VALUES(?, ?, ?, ?, >?)];嵌套异常是 org.postgresql.util.PSQLException: Can't infer the SQL >type to use for an instance of java.util.ArrayList。使用带有 >explicit Types 值的 setObject() 来指定要使用的类型。
【问题讨论】:
标签: java spring postgresql jdbc spring-boot