jOOQ - fetchAny和fetchOne之间的区别

2022-09-03 10:07:16

和 之间是否存在(实际的)差异?两者都返回一条记录。API文档是相同的,但实现(在github上)是不同的。fetchAny()fetchOne()


答案 1

这两种方法的意图是不同的:

实质上,使用查询时必须返回 0 或 1 条记录。使用查询时,可能会返回任意数量的记录,如果数据库返回任何记录,则将返回从 JDBC 结果集中提取的第一条记录。fetchOne()fetchAny()

请注意,因此将尝试从 JDBC 驱动程序获取 2 条记录(以决定是否需要抛出),而最多只获取 1 条记录。fetchOne()TooManyRowsExceptionfetchAny()


答案 2

javadoc解释了这种差异。 返回第一条记录,而期望查询返回零条或一条记录,如果查询返回多条记录,则引发异常。fetchAny()fetchOne()


推荐