2016-10-29 8 views
0

私はSpring JPAとPostgresqlを使ってAPIを書いています。行番号に影響を与えずにPostgreSQLを更新するには?

更新文の後レコードの行番号に影響します。

Before Update

After Update id 2

更新されたレコード2の順番が最後の順番に行くだろう。

私はどのように行番号を変更せずに更新することができ、行番号

を変更したくありませんか?もしSELECT * FROM tablenameから返される行の順序に依存しないように

+0

そして、クラスが何であるか教えていただけない場合は、Entityクラスのそれぞれの列がどのようなものにマップされているのか、ここに誰が知っているのかを教えてください。 JPAプロバイダがどのSQLを呼び出すのかを教えてください –

+3

行の暗黙の順序に依存しないでください。特定の順序で行が必要な場合は、クエリに 'order by'句を追加します。 –

+1

これが見つかりました:http://www.sql-workbench.net/not-sorted/ –

答えて

2

データベーステーブルには、(また、関係としても知られる)タプルの順不同セットです。

ORDER BY句を使用して注文する必要があります。

更新後に行の位置が変わるという内部的な理由は、PostgreSQLが実際に行の新しいバージョンを書き込むということです。この場合は最後に追加されます。しかし、あなたはそれに頼ることはできません:テーブルの中央に空きスペースがある場合、そこに新しい行バージョンを追加することができます。

関連する問題