Jiemamyのモデルインスタンス等、新しいJiemamy関係のインスタンスは JiemamyFactory から取得します。
Jiemamyファクトリは、コンテキストから以下のように取得します。
例 2.2. Jiemamyファクトリの取得
Jiemamy jiemamy = Jiemamy.newInstance(); JiemamyFactory factory = jiemamy.getFactory(); ...
ファクトリは、様々なJiemamyモデルのインスタンスを生成します。テーブルやカラム等はJiemamyFactory#newModel(Class)メソッドを 使用して取得します。以下の例では、テーブルを新規に作成しています。
Jiemamyのインスタンスは、一部の例外を除いて new 演算子によって取得しません。ほとんどのインスタンスは、このファクトリから取得します。 java.lang.Classを鋳型情報として、インスタンスを鋳造するイメージです。
また、データ型だけは特殊で、JiemamyFactory#newDataType(DataTypeMold)メソッドを使用します。DataType型のインスタンスは java.lang.Classだけでは生成にあたっての情報が足りないため、代りにDataTypeMold(データ型の鋳型)を使用します。データ型については、Dialect (SQL方言)に依存する為、DataTypeMoldはDialectから取得する必要があります。この件については後述しますが、簡単にDataTypeの生成例だけを 以下に示します。
例 2.4. 新しいDataTypeインスタンスの取得
BuiltinDataTypeMold mold = dialect.findDataTypeMold(DataTypeCategory.VARCHAR); BuiltinDataType dataType = factory.newDataType(mold); dataType.getAdapter(SizedDataTypeAdapter.class).setSize(36); ...