(TODO)
(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モデルは、主に以下のような手順を繰り返して構築していきます。
JiemamyFactoryから新しいモデルインスタンスを取得する。
モデルのプロパティにsetter等を使って値を設定する。この値はさらにJiemamyFactoryで生成するものかもしれません。
1で生成したモデルを、親となるモデルにsetter等を使って設定する。