Hibernateのカスタムタイプ

Hibernateは、ほとんどすべてのニーズに合わせてカスタマイズできる優れたORMツールです。 このトピックでは、任意のタイプのフィールドを保存する方法を示します。 たとえば、データベースに格納する文字列の配列(String [])とPOJOオブジェクトを取得します。
  1. public class StringArrayContainer { private Integer id ; private String [ ] tags ; // . }
  2. public class StringArrayContainer { private Integer id ; private String [ ] tags ; // . }
  3. public class StringArrayContainer { private Integer id ; private String [ ] tags ; // . }
  4. public class StringArrayContainer { private Integer id ; private String [ ] tags ; // . }
  5. public class StringArrayContainer { private Integer id ; private String [ ] tags ; // . }

hibernateが「文字列の配列」タイプのフィールドをデータベースに保存できるようにするには、UserTypeインターフェイスを実装するクラスを作成し、マッピング(hbm.xmlファイル)で参照する必要があります(そして十分です)。
  1. パブリック クラス StringArrayCustomType UserType {を 実装します
  2. // TODO:実装を作成します。
  3. }


メソッドごとにStringArrayCustomTypeクラスメソッドの実装を記述します。


最後に、マッピングファイル(hbm.xml)を更新します。
  1. <クラス = "StringArrayContainer" テーブル = "コンテナ" >
  2. <id name = "id" >
  3. <generator class = "native" />
  4. </ id >
  5. <プロパティ = "タグ" = "タグ" タイプ = "StringArrayCustomType" />
  6. </クラス>


文字列の配列を保存してお楽しみください。

PS 次の記事では 、このフィールドでフィルタリングするための特別な基準固定します。
______________________
テキストは©SoftCoder.ruによってブログエディターで作成されます。

Source: https://habr.com/ru/post/J91328/


All Articles