История изменений
Исправление
stevejobs,
(текущая версия)
:
Это было не по ссылке, а из головы. Соответственно, ссылки нет.
Насчет Хиба, в документации не нашел, а например Бартунов им не пользуется и подсказать не может. Наверное надо посмотреть, как запатчить диалект, главное придумать в каком виде ты хочешь это иметь на стороне джавы.
В JDBC можно сделать вот так:
PreparedStatement stm = conn.prepareStatement("insert into mytable (my_daterange_field) values (?::daterange)");
stm.setString(1, "[2016-07-03,2016-07-04]");
int i = stm.executeUpdate();
Тот же трюк проканает и с JSON, и в Хибе внутри named native query.
Можно сразу обернуть это в класс:
class Range<T> {
private Integer minimum;
private Integer maximum;
public Range(Integer minimum, Integer maximum) {
this.minimum = minimum;
this.maximum = maximum;
}
public String toString() {
return String.format("[%d, %d]", minimum, maximum);
}
}
И дальше использовать так:
Range range = new Range(1,2);
pstmt.setObject(7, range, Types.OTHER);
Про PGObject я не пробовал, вот тут есть ссылка с примерами, сам разберешься: http://www.programcreek.com/java-api-examples/index.php?api=org.postgresql.ut...
Исходная версия
stevejobs,
:
Это было не по ссылке, а из головы. Соответственно, ссылки нет.
Насчет Хиба, в документации не нашел, а например Бартунов им не пользуется и подсказать не может. Наверное надо посмотреть, как запатчить диалект, главное придумать в каком виде ты хочешь это иметь на стороне джавы.
В JDBC можно сделать вот так:
PreparedStatement stm = conn.prepareStatement("insert into mytable (my_daterange_field) values (?::daterange)");
stm.setString(1, "[2016-07-03,2016-07-04]");
int i = stm.executeUpdate();
Тот же трюк проканает и с JSON, и в Хибе внутри named native query.
Можно сразу обернуть это в класс:
class Range<T> {
private Integer minimum;
private Integer maximum;
public Range(Integer minimum, Integer maximum) {
this.minimum = minimum;
this.maximum = maximum;
}
public String toString() {
return String.format("[%d, %d]", minimum, maximum);
}
}
И дальше использовать так:
Range range = new Range(1,2);
pstmt.setObject(7, range, Types.OTHER);