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

エンティティの定義

エンティティはサービスの最も重要な部分です。 エンティティは、Javaのモデルオブジェクトとデータベースフィールドおよびテーブルの間のマップを表します。 Service Builderは、Javaモデルを定義したエンティティに自動的にマップし、Javaオブジェクトを永続化する機能を提供します。 モデル、永続性、およびサービス コードの生成にある Y7G4 サンプル プロジェクトを検討してください。 エンティティの概要は次のとおりです。

  • 名前: Y7G4Entry
  • ローカルサービス: はい
  • リモートサービス: いいえ

エンティティを定義する方法は次のとおりです。

<entity local-service="true" name="Y7G4Entry" remote-service="false">
</entity>

エンティティのデータベーステーブル名には、名前空間のプレフィックスが付いたエンティティ名が含まれます。 Y7G4の例では、Y7G4_Y7G4Entryという名前のデータベーステーブルが1つ作成されます。

ローカル サービス ( local-service 属性) を true に設定すると、エンティティのサービスのローカル インターフェイスが生成されます。 ローカルサービスは、それらがデプロイされているLiferayサーバーからのみ呼び出すことができます。

リモート サービス ( remote-service 属性) を true に設定すると、サービスに対して JSON ベースのリモート インターフェイスが生成されます。 これらは REST サービスではないので、 REST ビルダーを使用する必要があります。 エンティティのローカルサービスをtrueに設定し、リモートサービスをfalseに設定することで、リモートサービスを生成せずに完全に機能するアプリケーションを構築できます。 ただし、アプリケーションのサービスへのリモートアクセスを有効にする場合は、ローカルサービスとリモートサービスの両方をtrueに設定します。

ヒント

JPA などの他のフレームワークを使用して構築されたエンティティ用の既存のデータ アクセス オブジェクト (DAO) サービスがある場合は、ローカル サービスを false に設定し、リモート サービスを true に設定して、リモート -Impl クラスのメソッドが既存の DAO のメソッドを呼び出すことができるようにすることができます。 これにより、Liferayの権限チェックシステムとの統合が容易になり、Service Builderによって生成されたWebサービスAPIにアクセスできるようになります。 これは、Liferayの非常に便利で強力な、よく使用される機能です。