7.2.3. インデックス付きのコレクション


set と bag を除く全てのコレクションマッピングには、コレクションテーブルの中に インデックス用のカラム が必要です。そのカラムに、配列や List のインデックス、もしくは Map のキーをマッピングします。 Map のインデックスは、 <map-key> によりマッピングされた基本型か、 <map-key-many-to-many> によりマッピングされたエンティティの関連か、あるいは <composite-map-key> によりマッピングされたコンポジット型になります。配列かリストのインデックスは、常に integer 型で、 <list-index> 要素によりマッピングします。マッピングされたカラムにはシーケンシャルな整数を格納します。デフォルトでは0から番号が付けられます。
<list-index 
        column="column_name"                 
        base="0|1|..."/>
Copy to Clipboard Toggle word wrap
2

1

column_name (必須): コレクションインデックスの値を保持するカラム名。

1

base (オプション - デフォルトでは0): リスト もしくはアレイの最初の要素に対応するインデックス カラムの値
<map-key 
        column="column_name"                 
        formula="any SQL expression"         
        type="type_name"                     
        node="@attribute-name"
        length="N"/>
Copy to Clipboard Toggle word wrap

1

column (オプション): コレクションインデックスの値を保持するカラム名。

2

formula (オプション):マップのキーを評価する際に利用する SQL 式。

3

type (必須): マップキーの型
<map-key-many-to-many
        column="column_name"                 
        formula="any SQL expression"         
        class="ClassName"
/>
Copy to Clipboard Toggle word wrap

1

column (オプション): コレクションインデックスの値に対する外部キーカラム名

2

formula (オプション): マップキーの外部キーを評価する際に利用するSQL 式。

3

class (必須): マップキーとして利用するエンティティクラス。
テーブルにインデックスのカラムがないにも拘らずプロパティ型としてListを利用したい場合、Hibernate <bag>としてこのプロパティをマッピングすることができます。データベースへ渡され永続化された場合、bag はその順序を保持しますが、データベースからリトリーブした場合はオプションで分類および順序付けをすることができます。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat