問題タブ [jooq]

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 に答える
1517 参照

sql - コード ジェネレーターは NUMERIC(20,0) を BIGDECIMAL として解釈しますが、Long として解釈する必要があります。

フィールド名が「BID」で、データ型が NUMERIC(20,0) に設定されたテーブルがあります。これで、10 進数/浮動小数点値になることはなく、常に int/long、つまり自然数になることがわかりました。

コード ジェネレーターが、現在作成している java.math.BigDecimal とは対照的に、生成されたモデル クラス内の変数を Long にする方法はありますか。jooq.propertiesで設定できますか??

0 投票する
4 に答える
27199 参照

java - Querydsl、jOOQ、JEQUEL、activejdbc、iciql、およびその他のクエリDSLの比較

Querydsl 、jOOQJEQUELactivejdbciciqlなど、Javaで使用できるさまざまなQueryDSLライブラリ間のパフォーマンス比較に関するリソースを教えてもらえますか。

背景: Spring JDBCテンプレートを使用していますが、それでもクエリをプレーンな文字列形式で記述する必要がありました。直接クエリの記述に問題はありませんが、DBテーブル名に直接依存しているのではないかと心配しています。HibernateやJPA/EclipseLinkのようなORMフレームワークは使いたくありません。可能な限り高い生のパフォーマンスが必要です(IMO、CRUD中心のアプリケーションに適しています)。これらのDSLのオーバーヘッドは、それが少しの場合にのみ余裕があります(ほとんどの場合、StringBuilder / Stringの連結になると思います!)

一部のxmlで外部化された名前付きクエリの使用を検討しました。しかし、さまざまなクエリDSLライブラリが提供する価値を評価しようとしているだけです。

編集:私の要件の詳細: APIメソッドを使用して適度に複雑なクエリを構築する場合のこれらのパフォーマンスの比較を知りたいです。必要なのは、これらのクエリDSLライブラリのいずれかを使用してクエリ文字列を生成し、それをSpringJDBCテンプレートに渡すことだけです。したがって、この中間ステップを追加するとパフォーマンスが大幅に低下するかどうかを知りたいので、名前付きクエリを使用するか、StingBuilderまたは同様のアプローチを使用する独自のライブラリを構築します。

jOOQ、iciql、QueryDSLでの私の経験を更新してください:

元の投稿でこれについて言及しなかったものの、エンティティクラスで必要な使いやすさとオーバーヘッド(追加のアノテーションや実装が必要な場合など)にも熱心です。

jOOQ:

  • エンティティのプロパティをライブラリ固有の方法に変更する必要があります
  • SQLクエリ文字列を返すことができます

Iciql:

  • エンティティは変更なしまたはほとんど変更なしでマッピングできます(合計3つの方法を使用してマッピングできます)
  • ただし、クエリの選択のみに制限されます(更新/削除/ ...の場合は、エンティティを再度変更する必要があります)

QueryDSL:

  • エンティティをテーブルにバインドする複数の方法(ライブラリ固有の方法以外で、JPAアノテーションの使用がサポートされています)。しかし、少なくともエンティティを変更する必要があります
  • クエリ文字列を取得する簡単な/直接的な方法はありません

(すべての観察結果は、私がこれらについて知っている知識がほとんどありません。これらのいずれかが正しくない場合は、修正してください)

上記のすべてで、私は名前付きクエリを書くことに固執しています:(しかし、Lukas Ederの回答は私の元の投稿の懸念(パフォーマンス)について説明しているようですので、私は彼を受け入れました。

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

java - 生成されたキーを返すjOOQ挿入クエリ

jOOQをEclipseにインストールし、mySQL用に生成されたクラスを作成しましたが、いくつかの基本的なクエリを作成するのにも問題があります。

生成されたキーを返すことで挿入クエリを作成しようとしましたが、コンパイラがエラーをスローします

テーブル:tblCategory列:category_id、parent_id、name、rem、uipos

他の異なる方法でそれを正しく行う方法も試しましたか?

ありがとうカリス

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

mysql - jOOQで同じテーブルにLEFT OUTER JOINを書く方法は?

jOOQを使用して次のSQLを記述する方法は?

データベースはmySQLです

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

sql - jOOQ 複雑な更新 - テーブルをロックする方法は?

これは、ネストされたセット モデルの「ノードの追加」SQL クエリです。

そしてjOOQへのマッピング

テーブルをロックするにはどうすればよいですか? するべきか?

どうも

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

java - JOOQステートメントの速度をどのようにプロファイリングできますか

私はすでに、JavaベースのゲームサーバーとしてUnion Platformを使用してJOOQを実装し、UnionPlatformのOrbiterMicro(Union JS Client)を使用してブラウザーで実行しています。

ただし、ゲーム内に30〜40人のアクティブなプレーヤーがいるイベントでは、ユニオンプラットフォームは速度の点で遅れています。

ゲームインスタンスごと(つまり、部屋ごと)に、すべてのクエリを実行する1つのファクトリ接続を構成しました。それがすることは、

各プレイヤーのターンについて、

  • プレーヤーは整数を入力でき、一連の条件チェック(4クエリ)の後、JOOQを介してデータベースを挿入/更新します。
  • 次に、整数のステータスを取得するために、ゲームのステータスを更新するための3つのリンクされたハッシュマップに効果的に変換される3つのクエリを再度実行します。

現在、応答に非常に時間がかかっているため、プレーヤーはパフォーマンスの問題を抱えています。ユニオンプラットフォームは実際には、インスタンスで1000人を超えるアクティブなプレーヤーを簡単に処理できると主張しています。つまり、これは事実上、JOOQクエリにいくつかの間違いがあることを意味します(私は多くのLEFT OUTER JOINを使用しました)。

したがって、スループットを改善し、各クエリのプロファイルを作成するための提案は大歓迎です。

0 投票する
4 に答える
1002 参照

hibernate - 挿入のみ/クエリのみのアプリに使用される ORM フレームワーク

私は何年もの間 Hibernate を使用してきましたが、問題はありませんでしたが、私の仕事のほとんどが CRUD アプローチに関係していることに気付きました。

これの問題点は、一括挿入するアプリと、挿入されたデータを検索するアプリの 2 つのアプリを作りたいという人がいるということです。

この場合、永続性は少し役に立たないため、チームは Hibernate を使用せずに、挿入アプリで生のクエリを使用し、クエリ アプリでjOOQのようなものを使用したいと考えています。

それは正しい呼び出しですか?または、「私のお気に入りの orm フレームワーク」以外に、Hibernate を使用するように説得するにはどうすればよいでしょうか? または、考慮されていない他のソリューションもありますか?

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

java - JOOQは、指定された列を使用してselect構文に挿入します

JOOQは、指定された列の「selectに挿入」構文を実行できますか?私はいくつかの異なる試みを実行します。

テーブル:

table1(予想される挿入)

表2

table3

JOOQコード:

JOOQ showエラーメッセージ:

私がどのような問題を起こし、JOOQコードを修正する方法を誰もが知っています。ありがとう、支払います。

参照: 例:INSERTSELECT構文のサポート

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

java - jooq return クエリの値が正しくない

次のjooqベースのコードを使用してデータベーステーブルデータに挿入し、クエリを生成したい:

問題は、このコードを使用してクエリを印刷すると

私が得るのは、値の代わりに疑問符を使用したクエリです。

変数の値を個別に出力すると、それらはすべて正しいです。.set() getSQL() に手動で文字列値を挿入しても、疑問符が返されます。

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

java - M2E で Jooq ソース生成を使用するにはどうすればよいですか?

Eclipse で Maven と連携するように Jooq ソース生成を構成しようとしています (M2E を使用しています) が、Jooq のマニュアルに従っているときに問題が発生しています。

これが私の pom.xml の関連部分です: https://gist.github.com/cfd8a0556dd441ab43ff

エラーは次のとおりです:プラグインの実行はライフサイクル構成でカバーされていません: org.jooq:jooq-codegen-maven:2.0.5:generate (実行: デフォルト、フェーズ: generate-sources)

上記の要点スニペットの 12 行目に発生します。私は何を間違っていますか?