Mendixでアプリ開発を進めるにあたり、まず作業をする場所はDomainModelへのテーブル(エンティティ)作成だと思います。
下記のようにDomainModelはモジュールごとに1つ存在しており、最初は何もありません。
Mendixには「永続エンティティ」と「非永続エンティティ」
という2つのエンティティの定義の仕方が基本的にはあるのですが、本記事ではその内容には踏み込まず下記の1点について記述します。
ポイント
永続エンティティとして定義したエンティティはMendixではテーブルとして扱われる
つまり、データベースのテーブルとして扱われるため、データが実際に格納されていきます。
(非永続エンティティは逆で処理が終了するとデータは消えるメモリのようなもの)
MendixにはあらかじめデフォルトでDBが設定されているため、自分で別のMySQLやOracleなどの外部DBを使用する以外は内包されているDBを使うことになります。
実際にエンティティを定義してみましょう。
アプリの作成に必要なテーブルとして、まずは手始めに「ユーザ情報」を作ってみます。
ユーザ情報で持っておきたいものは
・苗字
・名前
・フルネーム
・メールアドレス
・削除フラグ
など
物理名は「UserMaster」とします。
②作成したエンティティをダブルクリックすると、下記のような画面がポップします
(Persistable=永続性のトグルがOnになっていますね)
英語の通り、エンティティのオブジェクトはデータベースに格納されていきます。
④エンティティのAttribute(属性)を作っていきます
Attributeタブでnewを押し、下記のように設定し、OKを押します。
デフォルト値に何かを入れておきたいときはDefault Valueに好きな値を設定します
また、型は下記が選べます
⑤上記の要領で登録を繰り返すと下記のようになります
テーブルに見えてきましたね!
今回はAssociationやEventHandlers、AccessRulesなどのタブの説明はしませんが、このままOKを押下すると、DomainModelにユーザ情報エンティティが作成され、実際の処理でオブジェクトを生成したり、画面に表示したり、コミットしたりと使用できるようになります。
Mendix最大の特長であるアソシエーションの話や、権限設定については後日別の記事でとさせてください。
永続エンティティは青色、非永続エンティティは黄色(オレンジ?)で表されます。
永続エンティティは登録先のエンティティやマスタテーブルとして、
非永続エンティティは画面表示用や処理用など一時的な使用として使われることが多いと思います。
例)
永続エンティティ→非永続エンティティへオブジェクトのデータ内容を移し
画面上では非永続エンティティのデータに対してユーザが情報を入力
登録処理では非永続エンティティから永続エンティティに更新をかける形
詳しい処理の作り方は別記事でご紹介します。
イメージはこのような感じとなります。
DomainModelのエンティティの定義の仕方については以上です。
お読みいただきありがとうございました。