jOOQ - fetchAny 和 fetchOne 之间的区别

jOOQ - difference between fetchAny and fetchOne

fetchAny()fetchOne() 之间有(真正的)区别吗?两者 return 正好是一条记录。 API 文档相同,但实现(在 github 上)不同。

The javadoc 解释了差异。 fetchAny() return 是第一条记录,而 fetchOne() 期望查询 return 零条或一条记录,如果查询 return 超过一条记录。

两种方法的目的不同:

本质上,当您使用fetchOne() 时,查询必须return 0 或1 条记录。当您使用 fetchAny() 时,查询可能 return 任意数量的记录,如果数据库 return 编辑了任何记录,则从 JDBC 结果集中获取的第一个记录将成为 returned.

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