次の問題があります。削除と挿入のみで「dif」テーブルをロードしています。 「変更」は、削除とそれに続く挿入によって決定されます。テーブル内の行の順番
このテーブルにはプライマリキーはなく、注文するフィールドはありません。私はこのテーブルをロードするためにHibernateを使用したい。 (SELECT obj FROM MyDifTable obj WHERE obj.group = groupId
)
現時点では、すべての値と上記のクエリでキーを使用していますが、ソーステーブルと同じ順序で行が取得されません。
私の質問は以下のとおりです。
- 私はHibernateは常にテーブルと同じ順序を返させてはどうすればよいですか?
- この場合、主キーの指定方法は?
私はこのようにひどく設計されていることを知っています。私はデザインチームと議論しようとしましたが、成功しませんでした。
よろしくは、 甲斐
一般に、 'ORDER BY'を持たない' SELECT'は、行が返される順序を保証しません。このことを念頭に置いて、*「テーブルの中と同じ順序」*を求める*は疑わしいです。 – NPE
aixがすでに指摘しているように、(リレーショナル)テーブルの行には**の命令はありません**。コンプライアンスを確実にする唯一の方法は、 'ORDER BY'を使うことです。 –
前のコメントを念頭に置いてください。通常、特定のデータベースエンジンには、何らかの並べ替えを行うために使用できる「row_id」プロパティがあります。しかし、以前のコメントは古い真実。構文はエンジン依存です。 – pcalcao