第4章 Jiemamyのモデル構築

(TODO)

4.1. 簡単なテーブルを作る

(TODO)

例 4.1. 簡単なテーブルを含むモデルの構築

// initialize Jiemamy
Jiemamy jiemamy = Jiemamy.newInstance();
JiemamyFactory factory = jiemamy.getFactory();
RootModel rootModel = factory.getRootModel();

// set Dialect to ues and get instance
RootModelUtil.setDialect(rootModel, MySqlDialect.class);
Dialect dialect = rootModel.findDialect();

// create TABLE and set name
TableModel tableModel = factory.newModel(TableModel.class);
tableModel.setName("T_USER");

// create COLUMN and set name
ColumnModel columnId = factory.newModel(ColumnModel.class);
columnId.setName("ID");

// create DataType of INTEGER and set it to column
BuiltinDataTypeMold mold1 = dialect.findDataTypeMold(DataTypeCategory.INTEGER);
BuiltinDataType dataType1 = factory.newDataType(mold1);
columnId.setDataType(dataType1);

// add COLUMN to TABLE
tableModel.getAttributes().add(columnId);

// create COLUMN and set name
ColumnModel columnName = factory.newModel(ColumnModel.class);
columnName.setName("NAME");

// create DataType of VARCHAR(32) and set it to column
BuiltinDataTypeMold mold2 = dialect.findDataTypeMold(DataTypeCategory.VARCHAR);
BuiltinDataType dataType2 = factory.newDataType(mold2);
dataType2.getAdapter(SizedDataTypeAdapter.class).setSize(36);
columnName.setDataType(dataType2);

// add COLUMN to TABLE
tableModel.getAttributes().add(columnName);

// add TABLE to RootModel
rootModel.getEntities().add(tableModel);
...


このように、Jiemamyモデルは、主に以下のような手順を繰り返して構築していきます。

  1. JiemamyFactoryから新しいモデルインスタンスを取得する。

  2. モデルのプロパティにsetter等を使って値を設定する。この値はさらにJiemamyFactoryで生成するものかもしれません。

  3. 1で生成したモデルを、親となるモデルにsetter等を使って設定する。