DSLContext create= DSL.using(SQLDialect.POSTGRES_9_5);
List<Field<?>> columns=new ArrayList<>();
List<Field<?>> values=new ArrayList<>();
columns.add(DSL.field("id"));
columns.add(DSL.field("name"));
columns.add(DSL.field("age"));
values.add(DSL.field("003"));
values.add(DSL.field("bob"));
values.add(DSL.field("24"));
String sql=create.insertInto(DSL.table("task")).columns(columns).values(values).getSQL();
The sql is: insert into task (id, name, age) values (003, bob, 24)
But it's wrong! it should be: insert into task (id, name, age) values ('003', 'bob', '24')
Where the problem is? Many thanks for your answer~!