各サービスエンティティの列(属性)の定義

各サービスエンティティの列(属性)の定義

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

エンティティの列は、その属性を表します。 これらの属性は、テーブルフィールドをJavaオブジェクトフィールドにマップします。 エンティティの属性を追加するには、 service.xml ファイルの概要モードアウトラインの列にドリルダウンします。 アウトラインから、 エンティティ ノードを展開し、エンティティノードを展開します。 次に、 ノードを選択します。 Liferay Dev Studio DXPは、エンティティの列の表を表示します。

図1:Liferay Dev Studio DXPは、エンティティのテーブル列の定義を容易にします。

Service Builderは、 service.xml ファイルに追加する列ごとにデータベースフィールドを作成します。 各列に指定されたJavaタイプに適切なデータベースフィールドタイプをマップし、Liferayがサポートするすべてのデータベースでこれを行います。 Service Builderが実行されると、オブジェクトリレーショナルマッピングを処理するHibernate構成が生成されます。 Service Builderは、これらの属性のモデルクラスにgetter / setterメソッドを自動的に生成します。 列の名前は、エンティティのJavaフィールド用に作成されるゲッターとセッターで使用される名前を指定します。 列のタイプは、エンティティのこのフィールドのJavaタイプを示します。 列のプライマリ(プライマリキー)属性値が true設定されている場合、その列はエンティティのプライマリキーの一部になります。 エンティティの主キーは、エンティティを一意に識別します。 Primaryが true設定されているPrimaryが1つの列のみの場合、その列はエンティティの主キー全体を表します。 これは、ブックマークアプリケーションの場合です。 ただし、エンティティの主キーとして複数の列を使用することは可能です。 この場合、列の組み合わせがエンティティの複合主キーを構成します。

エンティティ列を作成する

フォームテーブルを使用してエンティティを追加する方法と同様に、各エンティティに属性列を追加します。

  1. 追加アイコン(Add)をクリックして、各属性を作成します。

  2. 属性の名前を入力します

  3. 属性のタイプを選択します。 カーソルが列の タイプ フィールドにある間、オプションアイコンが表示されます。 このアイコンをクリックして、列に適切なタイプを選択します。

  4. 属性がエンティティの主キーであるかどうかを指定します。

* service モジュールを展開すると、Service Builderはすべてのエンティティ主キーのインデックスを自動的に生成します。

エンティティの属性ごとに列を作成します。

マルチテナンシーをサポート

エンティティのプライマリキーと属性の列に加えて、ポータルインスタンスIDとサイトID列を追加します。 ポートレットがLiferayのマルチテナンシー機能をサポートできるようにするため、各ポータルインスタンスとポータルインスタンス内の各サイトが独立したポートレットデータのセットを持つことができます。 サイトのIDを保持するには、タイプ long``groupId という列を追加します。 ポータルインスタンスのIDを保持するには、タイプ long``companyId という列を追加します。 これらの列をエンティティに追加するには、以下の表に従ってください。

ポータルおよびサイトスコープの列

名前タイプ一次
companyId長いですいや
groupId長いですいや

所有権を追跡する

各エンティティインスタンスの所有者を追跡するには、タイプ long``userId という列を追加します。

ユーザー列

名前タイプ一次
userId長いですいや

監査エンティティ

最後に、エンティティの監査に役立つ列を追加できます。 たとえば、エンティティインスタンスの作成日を記録するために、タイプ 日付 createDate という名前の列を作成できます。 そして、エンティティインスタンスが最後に変更された時刻を追跡するために、タイプ 日付 modifiedDate という名前の列を追加します。

監査列

名前タイプ一次
userId長いですいや
createDate日付いや
modifiedDate日付いや

すばらしいです\! エンティティには、属性を表すだけでなく、マルチテナンシーとエンティティ監査をサポートする列があります。 次に、関係サービスエンティティを指定する方法を学習します。

« サービスエンティティの定義サービスエンティティ間の関係の定義 »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています