第6章 データモデル


データモデルはデータオブジェクトのモデルです。データオブジェクトは複雑なカスタムデータタイプです (例: Name、Address、および Date of Birth データフィールドのある Person オブジェクト).

データモデルはプロジェクトに格納されるデータモデル定義に保存されます。Red Hat JBoss BRMS は、データオブジェクトを定義するためのデータモデラー、つまりカスタムグラフィカルエディターを提供します。

6.1. データモデラー

データモデラーは、Business Central からプロジェクトデータモデルの一部としてファクトまたはデータオブジェクトを作成するためのビルトインエディターです。データオブジェクトは、POJO として実装されるカスタムデータタイプです。これらのカスタムデータタイプは、インポート後にすべてのリソース (ガイド付きデシジョンテーブルなど) で使用できます。

エディターを開くには、Project Authoring パースペクティブを開き、パースペクティブメニューで New Item Data Object をクリックします。既存モデルを編集する必要がある場合、これらのファイルは Project ExplorerData Objects の下にあります。

新規モデルの作成時に、このモデルオブジェクトの名前の入力を求めるプロンプトが表示され、(パッケージのコンテキストでの) 場所を選択するよう求められます。正常に実行されると、モデルオブジェクトのフィールドを作成できるエディターが表示されます。

データモデラーは、ソースコードを保持した状態で EditorSource タブ間の切り替えをサポートします。これにより、JBDS などの外部ツールでモデルに変更を加え、データモデラーは必要なコードブロックを自動的に更新することができます。

メインエディターウィンドウで、ユーザーは以下を実行できます。

  • フィールドの追加または削除
  • 指定のフィールドを選択します。フィールドが選択されると、フィールドの情報はすべてのドメインエディターに読み込まれます。
user guide 7226
  • データオブジェクトクラスを選択します。たとえば、フィールドプロパティーを読み込む代わりに (メインウィンドウで) データオブジェクト名をクリックすると、ドメインエディターがクラスプロパティーを読み込みます。

    7227

6.2. 利用可能なフィールドタイプ

データオブジェクトフィールドは、以下のタイプのいずれかに割り当てることができます。

  • Java オブジェクトプリミティブタイプ:

    BigDecimalBigIntegerBooleanByteCharacterDateDoubleFloatIntegerLongShort、および String

  • Java プリミティブタイプ:

    booleanbytechardoublefloatintlong、および short

  • Java 列挙 (Enum) タイプ:

    現在のプロジェクトで定義されているか、または依存関係としてインポートされる Java 列挙 (enum) タイプ。「依存関係の追加」を参照してください。

  • 現在のプロジェクトデータオブジェクト:

    ユーザー定義のデータオブジェクトは、フィールドタイプとして割り当てられるよう自動的に利用可能になります。

  • プロジェクト依存関係:

    現在のプロジェクトで Java 依存関係としてインポートされるその他の Java クラス。「依存関係の追加」を参照してください。

6.3. データモデラーのアノテーション

Red Hat JBoss BRMS は、デフォルトですべての Drools アノテーションをサポートし、Drools & jBPM ドメイン画面を使用してカスタマイズできます。利用可能なドメイン画面についての詳細は、「データオブジェクトドメイン画面」 を参照してください。

カスタムまたは事前定義のアノテーションを追加または編集するには、Source タブに切り替え、ソースコードを直接変更します。ソースコードは、Red Hat JBoss Developer Studio および Business Central の両方で直接編集できます。Advanced 画面を使用して任意のアノテーションを管理します。

フィールドを作成するか、永続可能なデータオブジェクトに追加する際に、デフォルトで追加される JPA アノテーションはランタイム時に Red Hat JBoss BRMS が使用できるモデルを生成します。通常、モデルがプロセスで使用されるデフォルトの設定を変更することは推奨されていません。

Red Hat JBoss BRMS 6.2 以降は、Hibernate がデフォルトの JPA 実装として利用可能な状態で JPA 固有のアノテーションをサポートします。JPA プロバイダーがクラスパスに読み込まれる場合は、他のJPA アノテーションもサポートされます。

注記

データモデラーでアノテーションを追加する際に、アノテーションクラスをワークベンチクラスパスに置く必要があるか、またはプロジェクト依存関係をアノテーションを含む .jar ファイルに追加できます。データモデラーは検証チェックを実行し、アノテーションがクラスパス上にあることを確認します。アノテーションが存在しない場合はプロジェクトのビルドは実行されません。

6.4. データオブジェクトの作成

  1. Project Authoring パースペクティブで、パースペクティブメニューにある New Item Data Object をクリックします。
  2. 名前を入力し、パッケージを選択します。名前はパッケージ内で一意である必要がありますが、2 つの異なるパッケージにまたがる場合には同じ名前のデータオブジェクトが 2 つ存在しても問題ありません。
  3. データオブジェクトを永続化するには、Persistable チェックボックスにチェックを付けます。
  4. OK をクリックします。
  5. データオブジェクトのフィールドを作成します。

    1. メインエディターウィンドウで add field をクリックし、属性 IdLabel および Type を持つオブジェクトにフィールドを追加します。必須属性には * のマークが付けられます。

      • Id: データオブジェクト内で一意のフィールド ID。
      • Label: Fields パネルで使用されるラベル。このフィールドはオプションになります。
      • Type: フィールドのデータタイプ。

        DataModelerNewField2 new
    2. Create をクリックして新規フィールドを作成し、New field ウィンドウを閉じます。または、Create and continue をクリックして New field ウィンドウを開いたままにします。

    属性を編集するには、属性を選択し、通常のプロパティー画面を使用します。

データオブジェクトの使用

データオブジェクトを使用するには、データモデルをリソースにインポートしてください。データモデルとリソースの (ガイド付きリソースエディターなど) がいずれも同じパッケージにない場合、それらが同じプロジェクト内にあったとしてもこのタスクは必要になります。

6.5. 永続型データオブジェクト

Red Hat JBoss BRMS 6.2 以降、データモデラーは永続型データモデルの生成をサポートしています。永続型データオブジェクトは JPA 仕様をベースとしています。Persistable チェックボックスにチェックを付けると、プラットフォームはデフォルトの永続性設定を使用します。データオブジェクトは以下の 2 つの方法で永続化できます。

  • 新規データオブジェトの作成時。

    新規オブジェクトの作成時には、「データオブジェクトの作成」 の手順に従ってください。

  • データオブジェクトがすでに作成されている場合。

すでに作成されているデータオブジェクトを永続化するには、以下を実行します。

  1. Business Central でデータオブジェクトを開きます。
  2. Editor タブをクリックします。
  3. 右側のメニューから Persistence アイコンを選択します。

    persistenceicon
  4. Persistable にチェックを付けます。
  5. Save をクリックして変更を保存します。

6.6. データオブジェクトドメイン画面

以下のドメイン画面タブは、データオブジェクトエディター画面の右側から選択できます。

Drools & jBPM

Drools & jBPM 画面では、Drools 固有の属性の設定が可能です。

Business Central のデータモデラーは、ファクトモデルクラスおよび属性の事前定義のアノテーションの編集をサポートしています。以下の Drools アノテーションはサポートされており、Drools & jBPM インターフェースを使ってカスタマイズできます。

  • TypeSafe
  • ClassReactive
  • PropertyReactive
  • Role
  • Timestamp
  • Duration
  • Expires
  • Remotable

図6.1 Drools & jBPM クラスビュー

DataModelerDroolsAndJBPM

ファクトモデル内のフィールドについて、position および Equals アノテーションがサポートされています。特定のフィールドが選択されている場合の Drools & jBPM 画面は以下のようになります。

図6.2 Drools & jBPM フィールドビュー

72230

永続性

Persistence 画面を使用して、永続性について基本的な JPA アノテーションの属性を設定できます。アノテーションの微調整または特定のアノテーションを追加を実行するには、Advanced 画面を使用します。

図6.3 Class Persistence ビュー

DataModelerPersistence

特定のフィールドが選択されている場合の Persistence 画面は以下のようになります。

図6.4 Field Persistence ビュー

72231

以下のアノテーションは Persistence 画面で管理できます。

表6.1 タイプアノテーション
アノテーションデータオブジェクトが永続型の場合に自動生成される

javax.persistence.Entity

Yes

javax.persistence.Table

No

表6.2 フィールドアノテーション
アノテーションデータオブジェクトが永続型の場合に自動生成される関連する UI 要素

javax.persistence.Id

Yes

Is 識別子

javax.persistence.GeneratedValue

Yes

生成戦略

javax.persistence.SequenceGenerator

Yes

シーケンスジェネレーター

javax.persistence.Column

No

列プロパティー属性

javax.persistence.OneToOne

No

リレーションシップタイプ

javax.persistence.OneToMany

Yes: フィールドに 1 つまたは複数の値がある場合

リレーションシップタイプ

javax.persistence.ManyToOne

Yes: フィールドに複数の値がある場合

リレーションシップタイプ

javax.persistence.ManyToMany

No

リレーションシップタイプ

javax.persistence.ElementCollection

Yes: 新規フィールドに、Integer、Boolean、String などの基本 Java タイプが 1 つまたは複数含まれる場合に UI で生成される。このアノテーションは ⁠Persistence 画面ツールでは編集できません (代わりに Advanced 画面ツールを使用します)。

list とマークされるフィールドで作成される。

その他すべての JPA アノテーションは、Advanced 画面を使用して追加できます。

Advanced

Advanced 画面はアノテーションの微調整に使用されます。アノテーションは、Advanced Domain 画面を使用して設定し、追加し、削除することができます。クラスパスにあるすべてのアノテーションについてこれらを実行できます。

DataModelerAdvanced

add annotation オプションをクリックした後に Add new Annotation ウィンドウが表示されます。アノテーションの完全修飾名を入力する必要があり、search アイコンを押すと、アノテーションの定義がウィザードに読み込まれます。その後に各種のアノテーションパラメーターを設定できます (必須パラメーターには * のマークが付けられます)。

72232

ウィザードで指定パラメーターに適したエディターが提供される場合もあります。

72233

カスタマイズされたエディターを提供できない場合、ウィザードは汎用パラメーターエディターを提供します。

72234

すべての必須パラメーターを入力した後に、Finish ボタンが有効にされ、アノテーションを指定のフィールドまたはデータオブジェクトに追加できます。

6.7. データオブジェクト間の関係の設定

属性タイプが別のデータオブジェクトとして定義される場合、関係は、オブジェクト属性一覧の Info icon 記号で特定され、定義されます。このアイコンをクリックして、データオブジェクトの定義にジャンプし、表示および編集を行います。

関係のカスタマイズが必要になるのはデータオブジェクトが永続型である場合のみです。

関係は、関係が設定された属性を選択し、右側にある Persistence ボタンを選択して設定できます。Relationship Properties の下で、Relationship Type プロパティーの編集オプションをクリックします。

DataModelerRelationshipConfig

異なるデータオブジェクトで使用されるデータオブジェクトの削除を試行すると、Usage Detected 画面が表示されます。ここからオブジェクトを削除することもできますが、この場合、結果として生じるエラーが解決されるまでプロジェクトのビルドは停止します。

6.8. 永続性記述子

Business Central には、デフォルトの永続性設定のある persistence.xml ファイルが含まれます。永続性設定を行うには、Project Settings: Project General Settings Persistence descriptor をクリックします。

PersistenceXML new

Advanced properties セクションを使用してプロパティーを変更したり、削除したり、追加したりします。

7229

永続性記述子で Project persistable Data Objects セクションを開く場合、2 つのボタンが表示されます。

  • Add class: ユーザーはエンティティーとして宣言されるよう任意のクラスを persistence.xml ファイルに追加できます。
  • Add project persistable classes: 現行プロジェクトにすべての永続型データオブジェクトを自動的に読み込みます。
7228
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.