Detta är ännu en variant av de strikta castingsproblemen i PostgreSQL som interagerar med klientdrivrutiner och ORM:er som skickar allt de inte förstår som String.
Du måste använda setObject med Types.OTHER , IIRC.
ps.setObject(2, foos.get(i).getName(), Types.OTHER);
vilken PgJDBC ska skicka som en bindningsparam av typen unknown . Eftersom du arbetar med PgJDBC direkt är detta lätt för dig att hantera, som tur är; det är riktigt jobbigt när människor använder ORM-lager.
Se:
- Macaddr/Inet typ av postgres i slick
- Mappa postgreSQL JSON-kolumn till Hibernate-värdetyp
- https://www.org/postgres meddelande-id/exempel@sqldat.com
för bakgrund.