問題タブ [querydsl]
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.
java - 否定に関するLuceneのネストされたクエリ評価
Apache LuceneサポートをQuerydsl (Java のタイプ セーフ クエリを提供)に追加していますが、特にネストされたクエリの否定に関して、Lucene がクエリを評価する方法を理解するのに問題があります。
たとえば、私の意見では、次の 2 つのクエリは意味的に同じですが、最初のクエリだけが結果を返します。
2 番目の例の簡略化されたオブジェクト ツリーを以下に示します。
Lucene 自身のものは、同じ種類のオブジェクト ツリーQueryParser
に評価されるようです。"AND (NOT"
これは Lucene のバグですか、それとも Lucene のクエリ評価を誤解していますか? 必要に応じて、さらに情報を提供していただければ幸いです。
java - querydsl を使用してコレクションを照会するときの ExceptionInInitializerError
次のコードを実行すると、クエリ/プロジェクションの実行時に例外が発生します。私が間違っていることを誰かが知っていますか?すべてのヘルプは大歓迎です。
私が得る例外は次のとおりです。
スレッド「メイン」の例外 java.lang.ExceptionInInitializerError com.mysema.query.collections.MiniApi.(MiniApi.java:22)... など。
原因: com.mysema.query.collections.ExprEvaluatorFactory.(ExprEvaluatorFactory.java:55) の com.mysema.query.collections での com.mysema.codegen.EvaluatorFactory.(EvaluatorFactory.java:51) での java.lang.NullPointerException .ExprEvaluatorFactory.(ExprEvaluatorFactory.java:50) at com.mysema.query.collections.ExprEvaluatorFactory.(ExprEvaluatorFactory.java:32) ... 4 つ以上
scala - Scala の SQL DSL
Scala 用の SQL DSL を作成するのに苦労しています。DSL は、Java の一般的なクエリ抽象化レイヤーであるQuerydslの拡張です。
私は今、次のような本当に単純な表現に苦労しています
Querydsl はここで使用できる式モデルを既にサポートしているため、Proxy オブジェクトから Querydsl 式への変換を提供することにしました。プロキシを使用するために、このようなインスタンスを作成します
次の暗黙的な変換により、プロキシ インスタンスとプロキシ プロパティの呼び出しチェーンを Querydsl 式に変換できます。
今、私はこのような式を構築することができます
以下の問題で悩んでいます。
eq
Scala のメソッドとして既に利用可能でne
あるため、それらが使用されても変換はトリガーされません。
この問題は、次のように一般化できます。eq、ne、startsWith などの Scala 型で既に使用可能なメソッド名を使用する場合、暗黙の変換をトリガーするためにある種のエスケープを使用する必要があります。
以下を検討しています
大文字
これは、たとえばCircumflex ORMのアプローチです。これは、同様の DSL の目的を持つ Scala 用の非常に強力な ORM フレームワークです。しかし、このアプローチは、Querydsl では小文字であるクエリ キーワード (select、from、where など) と矛盾します。
いくつかのプレフィックス
述語使用のコンテキストは次のようなものです
Scala の SQL DSL を構築するためのより良いオプションや別のアプローチはありますか?
したがって、質問は基本的に2つのケースに要約されます
スーパークラスに存在するメソッドを使用するときに暗黙的な型変換をトリガーすることは可能ですか (例
eq
)それが不可能な場合、 , のようなメソッドに使用する最も Scalaesque な構文は何でしょう
eq
かne
?
編集
エイリアス インスタンスと $-prefix ベースのエスケープ構文を使用して、Querydsl で Scala をサポートしました。結果に関するブログ投稿は次のとおりです。http://blog.mysema.com/2010/09/querying-with-scala.html
java - MySQLデータベースでQueryDSLを使用するためのMavenプラグインのセットアップ
MySQLデータベースに対してquerydsl-sqlを使用できるようにプロジェクトをセットアップしようとしています。クラスを取得し、Mavenを使用してクラスを生成したいのですが、プラグインのセットアップに問題があります。
ここにある例からpom.xmlを構成してみました
mysql-connector-javaへの依存関係もpomで指定されます。私が得ている問題は、ドライバーが見つからないように見えることです。
誰かがこれを手伝ってくれますか?どうすればドライバーを指定できますか?
querydsl - Querydsl を使用してカスタム バックエンド実装を作成できますか?
私たちの組織には社内のバックエンド検索エンジンがあり、Querydsl のようなツールを使用して、タイプ セーフな方法でクエリを生成したいと考えています。現在、Querydsl プロジェクトは多数のバックエンド実装 (HQL、SQL、MongoDB など) を提供しているように思われるため、独自のものを構築する柔軟性が必要であると思います。
誰でもこれを行うことに成功しましたか?
java - QueryDSLを使用したSpringDataJPAでの順序と制限の使用方法
プロジェクトでRDBMSとともにSpringDataJPAを使用しています。最新の日付を持つテーブルからデータベースから単一のレコードをフェッチする必要があるという要件があります。このために、関数ごとに制限と順序を使用するか、サブクエリを使用する必要があります。ただし、NamedQueryを使用したくないかどうかを知りたいのですが、SpringDataJPAとQueryDSLを使用してこれを実現する方法はありますか。
java - QueryDSL で生成されたクラスが、クエリのために第 2 レベルの要素にアクセスできない
Java プロジェクトで Spring Data JPA で QueryDSL を使用しており、QueryDSL maven プラグインを使用してファイルを生成し、それによって生成された QueryDSL モデル クラスを使用しています。これは、1 レベルのネストされたオブジェクトに使用するとうまく機能しますが、第 2 レベルのアクセス オブジェクトにアクセスしようとすると、第 2 レベルのモデル オブジェクトが初期化されていないことを保存する NullPointerException が発生します。
助けていただければ幸いです。
3 行目の qmachine.vendor is null で NullPointerException が発生しています。
私のマッピングクラスは以下のとおりです: トランザクション
Machine クラスは次のとおりです。
ベンダークラスは
意図的にゲッターとセッターを省略しました。
gradle - GradleビルドスクリプトからのJPA2メタモデルの生成
新しいプロジェクト用にGradleビルドスクリプトを設定しようとしています。そのプロジェクトは、QuerydslとともにJPA2を使用します。
Querydslのリファレンスドキュメントの次のページでは、MavenとAnt用にJPAAnnotationProcessor(apt)を設定する方法を説明しています。
Gradleでも同じことをしたいのですが、どうすればいいのかわからず、愛する友人はこれについてあまり助けてくれませんでした。aptが使用するプロセッサを指定できるように、引数を使用して(できれば追加の依存関係なしで)Javacを呼び出す方法を見つける必要があります(?)
java - マルチサブクラスのさまざまなプロパティを検索
3 つのエンティティAgent
がPerson
あり、Machine
"name"
指定されたパラメータですべてのエージェントにクエリfirstName
を実行するソリューションを探しました。lastName
Person
Machine
jpqlクエリで可能ですか?
ありがとう
subquery - JPQL / QueryDSL:サブクエリに参加してエイリアス列を取得する
サブクエリに参加して、groupByのカウントの平均を取得しようとしています。それが正しい方法かどうかはわかりませんが、mysemadoc以外のサブクエリについては何もできませんでした。
シナリオ:顧客は製品ごとに平均して何件の注文をしましたか?意味:顧客が製品を注文します。そのため、顧客は特定の製品を何度も注文しました(カウント)。顧客が製品に対して行った平均注文数はいくつですか?
少し仮説的に聞こえるかもしれませんが、実際にはプロトタイプの一部にすぎませんが、Mysemaの豪華なQueryDSLを使用して、サブクエリ内に作成されたカスタム列への参照を取得する方法について疑問に思いました。
SQLでは、カウント列にエイリアスを指定し、2番目のID列を使用して結合するだけです。QueryDSLには「as()」メソッドもありますが、その列を取得する方法がわかりません。また、query.list()はリストを取得するだけなので、あるクエリを別のクエリに結合する方法がわかりません。参加がそれを受け入れる理由。気分が悪い...
これが私のコードです:
繰り返しますが、サブクエリに参加するにはどうすればよいですか?エイリアス化された「count」列を取得して、avgのような集計を行うにはどうすればよいですか(私のグループは正しいですか?)これには他のエラーがある可能性があるので、助けていただければ幸いです。
ありがとう!
編集: これは、QueryDSLが生成することを望んでいるネイティブSQLの一種です。