問題タブ [liferay-service-builder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
463 参照

liferay - ServiceBuilder は FinderImpl クラスを作成していませんか?

Liferay 7 を使用していくつかのサービスを作成しています。ただし、サービスをビルドした後にFinderImplおよびFinderUtilクラスは作成されません。私が従った手順は次のとおりです。

  1. サービス ビルダー プロジェクトを作成しました。
  2. ファインダ列を作成しました。
  3. *-api と *-service をビルドしてデプロイしました...ここで、* はプロジェクト/サービス名です。
  4. gradle -> Refresh Gradle Project を使用してプロジェクトを更新します。
  5. *-service と *-api を実行中のサーバーにドラッグ アンド ドロップしました。

結果: テーブルは作成されますが、*FinderImpl および *FinderUtil クラスはプロジェクトにありません。

0 投票する
2 に答える
1542 参照

jakarta-ee - Liferay 7 Service BuilderでFinder Utilクラスが生成されない

Liferay 6.2 の Service Builder には問題がありませんでしたが、Liferay 7 では、サービスをビルドして最初の Finder Util クラスを生成するときにブロックの問題が発生します。それを発見したとき、私はプロジェクトをゼロから始めることにしましたが、問題はまだここにあります。公式ドキュメントを使用しても、何も機能しません。

誰かが私を助ける考えを持っていますか?

Eclipse Mars での最後のテストの完全な説明は次のとおりです。

  1. 新しい Liferay ワークスペースを作成する
  2. 新しいLiferay Project Module Service Builderを作成する
  3. service.xml に foo オブジェクトを作成する
  4. ビルド サービス (クラスは適切に生成されます)
  5. persistence.impl パッケージに FooFinderImpl クラスを手動で作成します。
  6. ビルド サービス
    FooFinder インターフェイスは適切に生成されていますが、FooFinderUtil クラスは生成されていません。
  7. FooFinderImpl クラスにいくつかのメソッドを追加します
  8. 構築サービス
  9. 新しいものは何もありません

助けてくれてありがとう。

ヴィンセント

0 投票する
2 に答える
1237 参照

jakarta-ee - Liferay 7でのクエリ取得中にCustomSQLUtilがnull値を取得する

Liferay 6.2 の CustomSQLUtil クラスには問題がありませんでしたが、Liferay 7 のこのクラスの新しいバージョンでは問題が発生しました。実際、get メソッドは予期されたクエリではなく null を返します。

誰かがこれを再現しましたか?

Eclipse Mars での最後のテストの説明は次のとおりです。

  1. Liferay ワークスペースで、サービス モジュールの build.gradle に次の行を追加しました。

compileOnly グループ:「com.liferay」、名前:「com.liferay.portal.dao.orm.custom.sql」、バージョン:「1.0.5」

  1. Gradle の更新後、FooFinderImpl クラスで CustomSQLUtil クラスを使用して、適切なクエリを取得できるようになりました。

  2. このクエリは、Liferay 7 のドキュメントに記載されているように、src/custom-sql フォルダーにドロップされる default.xml ファイルに記述されています。

https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/custom-sql

私は多くの場所(META-INF、リソース内..)で試しました.CustomSQLネイティブクラスを拡張して構成を取得しようとしましたが、CustomSQLUtilクラスのgetメソッドはSQLではなく常にnullを返します.クエリ。

PS : この新しい "CustomSQLUtil.get" メソッドが 2 つのパラメーターを受け取るようになったことに気付きました。クエリ ID に加えてクラスが要求されます。このクラス パラメータには、「Foo.class」の値を入れます。

行う設定があるかどうか誰かが知っていますか? クラスパスまたはバンドルコンテキストを構成する必要がありますか?

0 投票する
3 に答える
3676 参照

jakarta-ee - Liferay 7 Service Builder はデータベースを自動更新しません

私の Liferay 7 プロジェクトでは、Service Builder はファイル tables.sql (完全な sql を含む) を適切に生成しますが、Liferay 6.2 の場合のように、このコンテンツを SERVICECOMPONENT ネイティブ liferay テーブルに含めません。

そのため、サーバーを再起動しても、データ モデルは変更されていますが、データベースは更新されません。

問題を一時的に解決するには、tables.sql に含まれる SQL スクリプトを手動で実行する必要があります。

誰かがこれを再現しましたか? この動作につながる可能性があるとは知らなかったオプション(Liferay 7の新機能?)はありますか?

注 : もちろん、オプション build.auto.upgrade (service.properties 内) は true に設定されており、これをオーバーライドできる service-ext.properties はありません。

0 投票する
2 に答える
172 参照

java - 非データベース フィールドを使用して Liferay Web サービスの応答をカスタマイズする

Liferay 7 では、getter/setter を使用して新しいフィールドを使用して FooImpl.java (サービス ビルダーによって Foo テーブルから生成されたもの) をカスタマイズしました。

このフィールドを追加するのは、次のメソッド (FooServiceImpl.java から抽出) の Web サービス レスポンスに必要だからです。

残念ながら、JSON 応答にはカスタム フィールド「toto」が含まれていません。

誰かがこれを行う方法を知っていますか?