Service Builderを使用したオブジェクトリレーショナルマップの定義
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。
このチュートリアルでは、アプリケーションがデータを保持できるようにオブジェクトリレーショナルマップを定義する方法を学習します。 例として、Service Builderを使用する既存のLiferay Bookmarksアプリケーションを調べます。
ブックマークアプリケーションは、Liferayのアセットをブックマークします。 アプリケーションは、組織のブックマークとそのフォルダーを表す2つのエンティティ、またはモデルタイプを定義します。 これらのエンティティは、 ブックマークエントリ および ブックマークフォルダと呼ばれます。 ブックマークにはフォルダーが必要であるため(ルートフォルダーであっても)、エントリエンティティはその属性の1つとしてフォルダーエンティティを参照します。
ブックマークアプリケーションのソースコードが存在 ブックマーク-API
、 ブックマークサービス
、及び ブックマークウェブ
のモジュール。 bookmarks-web
モジュールの com.liferay.bookmarks.web.portlet
パッケージの BookmarksAdminPortlet.java
および BookmarksPortlet.java
ファイルに注目してください。 これらのポートレットクラスは、Liferayの MVCPortlet
クラス拡張します。 MVCパターンのコントローラーとして機能します。 これらのクラスには、このセクションで作成する方法を学習するService Builderが生成したブックマークサービスを呼び出すビジネスロジックが含まれています。 アプリケーションのビューレイヤーは、 bookmarks-web / src / main / resources / META-INF / resources
フォルダーのJSPに実装されています。
このチュートリアルでは、アプリケーションに次のタイプのモジュールがあることを前提としています。
* -api
:サービスインターフェイス* -service
:サービスの実装* -web
:ポートレットとコントローラー
これらのモジュールの親フォルダーは、 アプリケーションフォルダーです。 Service Builderプロジェクトテンプレート は、 * -api
および * -service
モジュールの作成に使用できます。 MVCPortletテンプレート などのクライアントUIプロジェクトテンプレートは、 * -web
モジュールの作成に使用できます。 Dev Studio DXPまたはBladeを使用して、両方のテンプレートからプロジェクトを作成できます。
Service Builderを使用する最初の手順は、モデルクラスとその属性を service.xml
ファイルで定義することです。 通常、このファイルは * -service
モジュールのルートフォルダーにありますが、ビルドツールを構成して他のフォルダーで認識できるようにすることもできます。 Service Builderの用語では、モデルクラス エンティティ呼び出します。 たとえば、ブックマークアプリケーションには2つのエンティティがあります: BookmarksEntry
および BookmarksFolder
。 それぞれの要件は、 bookmarks-service
モジュールの service.xml で <column />
要素にリストされています。
Service Builderが service.xml
ファイルを読み取ると、エンティティを定義できます。 Liferay @IDE@ は、簡単にアプリケーションの中で実体を定義することを可能にする service.xml
ファイルです。 次の手順を実行します:
各ステップについて詳しく説明します。 service.xml
ファイルの作成から始めます。