属性(フィールド)に関する設定です。name
, column_name
, external_type
, class_name
は必須項目です。
設定項目 | 設定 |
---|---|
name |
属性名。TapKitからはこの名前でアクセスする。 |
column_name |
データベースに登録されているフィールド名。 |
class_name |
データをマッピングするクラス名。String , Integer , Float , Date , Time , Timestamp , Boolean から選択する。 |
external_type |
データベースで管理されているフィールドのデータ型。サポートされるデータ型は各アダプタに依存する。 |
allow_null |
NULLの制約。false にするとNULLの入力を許可しない。省略するとfalse に設定される。 |
read_only |
読み込み専用の設定。true にするとデータを変更できなくなる。 |
width |
データの長さ。データ型が文字列のときのみ有効。 |
属性のclass_name
をBooleanにマッピングすると、データ行の1をtrue
に、0をfalse
に相互変換します。数値以外のデータ型にBooleanをマッピングすることはできません。
属性を上記以外のクラスにマッピングすることもできます。フェッチしたデータ行はカスタムクラスに自動的に変換され、保存時にはその逆の操作が行われます。カスタムデータ型を使用するには以下の項目を設定します。
class_name
にカスタムクラス名を指定する
factory_method
に、文字列からカスタムクラスのインスタンスを生成するクラスメソッドを指定する
conversion_method
に、SQL文に埋め込むデータに変換するインスタンスメソッドを指定するこのほかにカスタムクラスには、Qualifierの条件式で比較を行うためのメソッド(==
や!=
など)が必要です。