jOOQ - fetchAny 和 fetchOne 之间的区别
jOOQ - difference between fetchAny and fetchOne
fetchAny()
和 fetchOne()
之间有(真正的)区别吗?两者 return 正好是一条记录。 API 文档相同,但实现(在 github 上)不同。
The javadoc 解释了差异。 fetchAny()
return 是第一条记录,而 fetchOne()
期望查询 return 零条或一条记录,如果查询 return 超过一条记录。
两种方法的目的不同:
-
Returns:
The resulting record or null if the query returns no records.
Throws:
TooManyRowsException
- if the query returned more than one record
-
Returns:
The first resulting record or null if the query returns no records.
本质上,当您使用fetchOne()
时,查询必须return 0 或1 条记录。当您使用 fetchAny()
时,查询可能 return 任意数量的记录,如果数据库 return 编辑了任何记录,则从 JDBC 结果集中获取的第一个记录将成为 returned.
注意 fetchOne()
会因此尝试从 JDBC 驱动程序中获取 2 条记录(以决定是否需要抛出 TooManyRowsException
),而 fetchAny()
仅获取最多1条记录。
fetchAny()
和 fetchOne()
之间有(真正的)区别吗?两者 return 正好是一条记录。 API 文档相同,但实现(在 github 上)不同。
The javadoc 解释了差异。 fetchAny()
return 是第一条记录,而 fetchOne()
期望查询 return 零条或一条记录,如果查询 return 超过一条记录。
两种方法的目的不同:
-
Returns:
The resulting record or null if the query returns no records.
Throws:
TooManyRowsException
- if the query returned more than one record -
Returns:
The first resulting record or null if the query returns no records.
本质上,当您使用fetchOne()
时,查询必须return 0 或1 条记录。当您使用 fetchAny()
时,查询可能 return 任意数量的记录,如果数据库 return 编辑了任何记录,则从 JDBC 结果集中获取的第一个记录将成为 returned.
注意 fetchOne()
会因此尝试从 JDBC 驱动程序中获取 2 条记录(以决定是否需要抛出 TooManyRowsException
),而 fetchAny()
仅获取最多1条记录。