2

私は冬眠するのが初めてです。私は基準のsetFirstResult方法と混同しています。ドキュメントから、休止状態は指定された番号から行を返すようです。

SQL クエリは order by 句のない行の順序を保証しないためsetFirstQuery、この場合 (orderBy 句なし) はどのように機能しますか? Hibernate はデータベースからインデックス情報を読み取りますか?

同じ SQL クエリを複数回実行すると、順序が変わる可能性があります。この場合、どのようにsetFirstResult機能しますか?

4

2 に答える 2

2

Hibernateは、基盤となるデータベースでサポートされていない限り、それ自体で何かを行うことはできません。Hibernateクエリは最終的にSqlのみに変換されるためです。

PostgresSQLやMySQLのような基盤となるデータベース機能を使用すると言っても、のようなクエリを生成しますlimit ? offset ?

を使用してカスタムオーダーを追加できますaddOrder

.addOrder( Order.asc("name") )
于 2012-10-10T06:33:07.177 に答える
0

order by を追加するのはあなたの仕事です。あなたが気付いた関数は、同じデータセットに対して複数回実行された場合、同じ結果を保証しません。 setFirstResult通常、ページネーションで使用されます。

于 2012-10-10T06:22:13.737 に答える