0

JPQL オートコンプリートを Eclipse で動作させる方法を理解するのに永遠にかかりました。これが発生していることを確認できる唯一の場所は、 <mapping-file> を persistance.xml に追加することであり、mapping .xml ファイルで <named-query> を定義できます。次に、「JPA の詳細」ビューを追加して、編集するクエリを選択すると、クエリを編集する必要がある小さな 4 行のテキスト ボックスが表示されます。この小さなテキスト ボックスでのみ、コンテンツ アシスタンスが表示されます。

A) このテキストボックスをハックして大きくする方法はありますか? (私のクエリは非常に複雑で、さらに多くの行が必要です)

B) 他に JPQL コンテンツ アシストを利用できる大きな場所はありますか?

(Indigo 3.7 と Juno 4.2 でも同じ問題があります)

4

2 に答える 2

2

このテキスト領域を大きくして拡張するために、DaliEclipseプロジェクトに対してバグを入力しました。それが修正されれば、ハックは必要ありません。

https://bugs.eclipse.org/bugs/show_bug.cgi?id=386416

コメント(4)への応答-複雑なクエリで発生する特定の検証エラーについて、Daliに対するバグを入力してください。仕様に準拠したJPQLクエリの場合は、間違いなく修正したいと思います。それらにHibernate固有のものが含まれている場合、Hibernateツール拡張機能がその検証を担当します。

于 2012-08-01T17:35:32.850 に答える
2

コンテンツ アシスタントは、@NamedQuery アノテーションを介して利用することもできます。設定を XML ファイルに保存するか、Entity クラスのアノテーションを使用することに違いがない場合は、後者を利用できます。@NamedQuery の「query」要素の編集を開始するとすぐに、JPA の詳細 / クエリと同じコンテンツ アシスタントが利用可能になります。十分なスペースがあります。ただし、これは Java コードで定義された String 定数であるため、クエリが複数の行に分割された場合は、余分な引用符と連結を処理する必要があります。同時に、JPA の詳細ビューでこのクエリを確認できます。

JPA の詳細ビューに関しては、プラグイン ソースを変更して再構築しない限り、この Query エディット ボックスが構成可能かどうかは疑問です。

編集コメント (3) への応答として、- ここに「方向性」があります。

  • JPA 詳細ビューと org.eclipse.jpt.jpa.ui プラグインで定義されたパネル/ペイン
  • 名前付きクエリ編集ビューは、クラスNamedQueryPropertyCompositeで定義され、NamedQueryProperty2_0Compositeそれに応じて JPA v1 および JPA v2 で定義されます。
  • 名前付きクエリ エディター ボックスを 4 行に調整するコード フラグメントは、次のようになります。

    adjustMultiLineTextLayout(
        4,
        provider.getStyledText(),
        provider.getStyledText().getLineHeight()
    );
    

.. 4 は行数です。

ソースは次の場所にあります: :pserver:anonymous@dev.eclipse.org:/cvsroot/webtools (対象となる特定の Eclipse バージョンは不明ですが、これは Indigo に付属するものより確実に新しいものです)。

于 2012-07-25T12:48:57.733 に答える