Service Builder から PrevAndNext メソッドが削除されました
変更点: すべての findByXxx_PrevAndNext および filterFindByXxx_PrevAndNext メソッドが、生成された永続化クラス (*Persistence、 *PersistenceImpl、および *Util ) から完全に削除されました。) Service Builder 7.4以降を利用するエンティティ向け。従来、これらのメソッドは、順序付けられた結果セットから、前、現在、次の隣接エンティティを含む3要素の配列を返していました。
理由: コードベースの肥大化を大幅に削減するため。 DXP内部では、これらの手法によって60万行以上のコードが生成されましたが、実際に使用されたのは内部の3箇所だけでした。既存の検索手法でも、この動作は容易に再現できる。
影響を受けるユーザー: 現在、カスタムロジックで PrevAndNext ファインダー メソッドに依存している、7.4 または Quarterly リリースで Service Builder を使用している開発者。
移行方法:
データセットのサイズに基づいて、2つの方法のうちいずれかを選択してください。
- リストの検索(推奨):
findByPrimaryKeyを使用して現在のエンティティを取得し、その後、標準のfindByXxxメソッドを使用して一致するリスト全体を取得します。現在のエンティティのインデックスを見つけて、前の項目 (インデックス - 1) と次の項目 (インデックス + 1) を取得します。 - DSL クエリ (大規模データセットの場合):
dslQueryを使用して、制限を 1 に設定し、2 つの対象データベース クエリを実行します。1 つは直前のエントリを取得し、もう 1 つは直後のエントリを取得します。