問題タブ [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.
liferay - ServiceBuilder は FinderImpl クラスを作成していませんか?
Liferay 7 を使用していくつかのサービスを作成しています。ただし、サービスをビルドした後にFinderImplおよびFinderUtilクラスは作成されません。私が従った手順は次のとおりです。
- サービス ビルダー プロジェクトを作成しました。
- ファインダ列を作成しました。
- *-api と *-service をビルドしてデプロイしました...ここで、* はプロジェクト/サービス名です。
- gradle -> Refresh Gradle Project を使用してプロジェクトを更新します。
- *-service と *-api を実行中のサーバーにドラッグ アンド ドロップしました。
結果: テーブルは作成されますが、*FinderImpl および *FinderUtil クラスはプロジェクトにありません。
jakarta-ee - Liferay 7 Service BuilderでFinder Utilクラスが生成されない
Liferay 6.2 の Service Builder には問題がありませんでしたが、Liferay 7 では、サービスをビルドして最初の Finder Util クラスを生成するときにブロックの問題が発生します。それを発見したとき、私はプロジェクトをゼロから始めることにしましたが、問題はまだここにあります。公式ドキュメントを使用しても、何も機能しません。
誰かが私を助ける考えを持っていますか?
Eclipse Mars での最後のテストの完全な説明は次のとおりです。
- 新しい Liferay ワークスペースを作成する
- 新しいLiferay Project Module Service Builderを作成する
- service.xml に foo オブジェクトを作成する
- ビルド サービス (クラスは適切に生成されます)
- persistence.impl パッケージに FooFinderImpl クラスを手動で作成します。
- ビルド サービス
FooFinder インターフェイスは適切に生成されていますが、FooFinderUtil クラスは生成されていません。 - FooFinderImpl クラスにいくつかのメソッドを追加します
- 構築サービス
- 新しいものは何もありません
助けてくれてありがとう。
ヴィンセント
jakarta-ee - Liferay 7でのクエリ取得中にCustomSQLUtilがnull値を取得する
Liferay 6.2 の CustomSQLUtil クラスには問題がありませんでしたが、Liferay 7 のこのクラスの新しいバージョンでは問題が発生しました。実際、get メソッドは予期されたクエリではなく null を返します。
誰かがこれを再現しましたか?
Eclipse Mars での最後のテストの説明は次のとおりです。
- Liferay ワークスペースで、サービス モジュールの build.gradle に次の行を追加しました。
compileOnly グループ:「com.liferay」、名前:「com.liferay.portal.dao.orm.custom.sql」、バージョン:「1.0.5」
Gradle の更新後、FooFinderImpl クラスで CustomSQLUtil クラスを使用して、適切なクエリを取得できるようになりました。
このクエリは、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」の値を入れます。
行う設定があるかどうか誰かが知っていますか? クラスパスまたはバンドルコンテキストを構成する必要がありますか?
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 はありません。
java - 非データベース フィールドを使用して Liferay Web サービスの応答をカスタマイズする
Liferay 7 では、getter/setter を使用して新しいフィールドを使用して FooImpl.java (サービス ビルダーによって Foo テーブルから生成されたもの) をカスタマイズしました。
このフィールドを追加するのは、次のメソッド (FooServiceImpl.java から抽出) の Web サービス レスポンスに必要だからです。
残念ながら、JSON 応答にはカスタム フィールド「toto」が含まれていません。
誰かがこれを行う方法を知っていますか?