Service Builderを使用した段階的モデルの生成

Service Builderを使用した段階的モデルの生成

ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。

ステージングモデルは、アプリケーションにステージングフレームワークとエクスポート/インポートフレームワークを実装するための重要な構成要素です。 アプリのステージングモデルを手動で作成する代わりに、 Service Builder を活用して、必要なステージングモデルロジックを生成できます。 このチュートリアルに入る前に、ステージングされたモデルの仕組みについての情報を得るために、 ステージングされたモデルを理解する チュートリアルを必ず読んでください。 また、アプリでLiferayのService Builderを使用しない場合は、プロジェクトで設定する必要があります。 これを行うのに支援が必要な場合は、「Service Builder でオブジェクトリレーショナルマップを定義する

チュートリアル」に従ってください。

このチュートリアルでは、 * api および * service モジュールのService Builderプロジェクトがあることを前提としています。 このチュートリアルを読みたい場合は、 staged-model-example Service Builderプロジェクトをダウンロードしてください。 これは、Service Builderの実行によって生成されたステージング関連の変更を確認するためにテストできる最低限のプロジェクトです。 このチュートリアルは、プロジェクトがGradleでビルドされていることを前提としています。 サンプルプロジェクトの service.xml ファイルには、次の構成が含まれています。

<service-builder package-path="com.liferay.docs">
    <namespace>FOO</namespace>
    <entity local-service="true" name="Foo" remote-service="true" uuid="true">

        <!-- PK fields -->

        <column name="fooId" primary="true" type="long" />

        <!-- Group instance -->

        <column name="groupId" type="long" />

        <!-- Audit fields -->

        <column name="companyId" type="long" />
        <column name="createDate" type="Date" />
        <column name="modifiedDate" type="Date" />

        ...
        ...

    </entity>
</service-builder>

簡単にするために、エンティティモデルファイルに適用されたService Builderで生成された変更を追跡して、ステージングされたモデルがエンティティにどのように割り当てられるかを観察します。 各段階モデルに必要な特定の 段階属性 に留意してください。 service.xml ファイルで定義されている属性に応じて、Service Builderはエンティティモデルを特定の段階的なモデルタイプに割り当てます。

  1. コマンドラインでプロジェクトの * service モジュールに移動します。 Service Builder(例: gradlew buildService)を実行して、現在の service.xml 構成に基づいてプロジェクトのモデルを生成します。

  2. プロジェクトの [Entity]Model.java インターフェイスを開き、継承されたインターフェイスを確認します。

    public interface FooModel extends BaseModel<Foo>, ShardedModel, StagedModel {
    

モデルが段階的モデルとして生成されました\! UUIDに設定されているからである 及び 企業IDCREATEDATE、及び modifiedDate 列が定義されています。 背後でアプリに対して生成されるロジックははるかに多くありますが、これは、Service Builderがエンティティをステージングフレームワークおよびエクスポート/インポートフレームワークに適格と見なしたことを示しています。

  1. userId および userName 列を service.xml ファイルに追加します。

        <column name="userId" type="long" />
        <column name="userName" type="String" />
    
  2. Service Builderを再実行し、 [Entity]Model.java インターフェイスをもう一度観察します`

 public interface FooModel extends BaseModel, GroupedModel, ShardedModel,
     StagedAuditedModel {
`

これで、モデルは段階的な監査モデルになりました\!

5 lastPublishDate 列を service.xml ファイルに追加します。

   <column name="lastPublishDate" type="Date" />

6 Service Builderを再実行し、 [Entity]Model.java インターフェイスをもう一度観察します`

 public interface FooModel extends BaseModel, ShardedModel,
     StagedGroupedModel {
`

これで、モデルは段階的なグループ化モデルになりました! StageId 列は、 StagedGroupedModel インターフェースを拡張するためにも必要ですが、元の service.xml ファイルで既に定義されていました。

ファンタスティック\! Service Builderを使用して段階的モデルを生成することがどれほど簡単かを直接目にしました。

« 段階的モデルについてステージングモデルの手動作成 »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています