java - 使用 jooq 插入区间数据
问题描述
我有一个 PostgreSQL 表,其列名称为 test_interval,类型为 interval。
test_interval interval
我正在使用 jooq 在表中插入数据。在我的 TestTable.java 类中,该字段的类型为:
public final TableField<TestTable, YearToSecond> TEST_INTERVAL = createField(DSL.name("test_interval"), org.jooq.impl.SQLDataType.INTERVAL.nullable(false), this, "");
我将表格创建为:
dsl.createTableIfNotExists(TestTable)
.column(TestTable.TEST_INTERVAL)
.execute()
我想将数据插入表中,数据的形式为:
val str = "0 years 0 mons 0 days 0 hours 15 mins 0.00 secs"
dsl.insertInto(
TestTable,
TestTable.TEST_INTERVAL
).values(
str
)
我得到错误无法插入类型。如何使用 jooq 插入 postgres 的区间数据类型的数据?
解决方案
您的TEST_INTERVAL
列是 type YearToSecond
,因此您必须插入该类型的值,而不是 type String
。
只需调用YearToSecond
构造函数
new YearToSecond(
new YearToMonth(),
new DayToSecond(0, 0, 15)
)
推荐阅读
- sql - 需要动态检查记录,如果不存在则插入
- php - 如何在 PHP CRUL 中接收来自 API 的响应并将其初始化为变量?
- ansible - AWX - 如何/在何处修改全局作业设置
- python - 使用python从plesk(GODADDY)连接mysql时出错
- r - 来自核酸词的系统发育树
- javascript - 如何将 p 标签中的文本回调到输入文本字段?
- ruby-on-rails - 如何在助手中嵌套 Rails 标签?
- java - 在页面中打印 for 循环时遇到问题
- javascript - 在我的程序 Javascript 中导入 csv 文件
- arrays - 在 C 中对 const char* 字符串数组进行排序 - 练习