Этот вопрос задавался и отвечался несколько раз в списке рассылки postgresql ( 2001 , 2015 ), а также в нескольких других местах.
Поскольку нетinet
в JDBC, самое простое решение - передать IP-адрес в форме String
, затем привести к inet
в самом запросе .
В mybatis это выглядит так:
public interface MyMapper {
@Insert("INSERT INTO my_table (ip) VALUES (#{ip}::INET)")
int insert(@Param("ip") String ip);
}
Другое решение состоит в том, чтобы обернуть адрес в пользовательский класс, который реализует java.sql.SQLData
, а затем просто передать свой собственный класс как объект.