jOOQ(Javaオブジェクト指向のクエリ)のオープンソース版は、オープンソースとjOOQコマンドラインソフトウェアからJavaコードを生成するためのツールとして機能するようにゼロからJavaで実装されており、設計の自由に配布版です各種データベースます。
アプリケーションでは、タイプセーフなSQLクエリを構築することができます流暢なAPI(Application Programming Interface)を含んでいます。また、2つの市販版、プロフェッショナルおよびエンタープライズとして配布されます。
一目で特長
jOOQオープンソース版の主な機能は、Javaコード生成、アクティブレコードのサポート、タイプセーフSQLクエリのサポート、SQL標準サポートを生成するためのサポートだけでなく、ベンダー固有の機能のサポートが含まれます。
また、ソフトウェアは、ストアドプロシージャ、サポートや共有スキーマまたはマルチスキーママルチテナント、SQL生成のライフサイクルのためのフック、およびSQL変換をサポートするためのサポートを提供しています。
オープンソースのデータベースを幅広くサポート
予想したように、jOOQのオープンソース版は、同様に、我々はCUBRID、Apache Derbyの、火の鳥、HSQLDB(HyperSQLデータベース)、MySQLコミュニティ版は、PostgreSQL、H2を言及することができ、その中のオープンソースデータベースの多種多様なサポートSQLiteのようます。
jOOQの商用版は、組み込みのすべての前述のオープンソースデータベースのサポート、などのMicrosoft SQL ServerやOracle XEは、Oracle Standard Editionのは、Oracle Enterprise Editionを、Informixのを含め、すべての商用データベースのために付属していますIBM DB2、MySQLのエンタープライズ版は、Sybase Adaptive Server EnterpriseのとSybase SQL Anywhereのます。
フードとサポートされているオペレーティングシステムの下で
jOOQのボンネットの下に見ると、我々は、アプリケーションがそれがあることを意味は、Javaランタイム環境(JRE)が利用可能な任意のコンピュータのオペレーティングシステムでサポートされているJavaプログラミング言語で完全に書かれていることがすぐに気づくことができますます。
現時点では、それが成功し、32ビットおよび64ビットのコンピュータアーキテクチャの両方をサポートし、多数のLinuxディストリビューションと同様に、Microsoft WindowsおよびMac OS Xオペレーティングシステムで使用してテストされています。
- 機能と改善:>
のこのリリースではの新機能である
- #659 - SQL Azureのサポートを追加します。
- #1206 - [NOT]の使用を簡素化するためにTable.leftAntiJoin(表).on(...)とTable.leftSemiJoin(表).on(...)を追加します。 /に存在します
- #1350 - のVerticaデータベースのサポートを追加します。
- #1364 - のPOJOに対してtoString()を生成します。
- #1503 - エミュレートのINSERT ..重複キーON INSERTを使用して、残りの方言でIGNORE .. EXISTSしない場所を選択
- #1711 - 追加地図ResultQuery.fetchGroups(クラス、クラス)、および他の多くます。
- #1843 - JPAネイティブクエリでjOOQを使用する方法を示すマニュアルにセクションを追加します。
- #2728 - アマゾン赤方偏移のサポートを追加します。
- #2920 - エミュレートCROSSはPostgreSQLのために登録しようとしてLATERAL適用されます。
- #3082 - 生成されたPOJOの代わりにArrayRecordsの、Java配列型を参照してみましょう。
- #3645 - jOOQは、Java 8を必要としてみましょう - 商用版のJava 6をサポートしてくださいます。
- #3772 - また、EPUB形式でマニュアルを公開します。
- #3783 - フィールドの追加DSL.currentSchema()
- #3887 - サポートSAP HANA UPSERTます。
- #3955 - セーブポイントを経由して、ネストされたトランザクションのサポートを無効にするDefaultTransactionProviderにフラグを追加します。
- #4006 - フィールドの配列を追加します(フィールド...)
- #4016 - SQL標準NTH_VALUE窓関数のサポートを追加します。
- #4113 - フィールド[] {カーソル追加|記録| RECORDTYPE |結果|行| TableLike | UDT} .fields({フィールド... | int型... |文字列...})便宜上ます。
- #4133 - formatJSON()、formatXML()にテーブル名を追加のエクスポート形式ます。
- #4212 - 追加LoaderSourceStep.loadRecords(反復処理可能)
- #4476 - RECORD.FIELD(フィールド)があいまいな列に実行したときに警告を発行します。
- #4479 - AutoCloseableを実装する必要がありDSLContext、場合には、それはDSL.using(文字列)を介して構築した。
- #4489から5.0へjOOQ - メタ - 拡張でHibernateの依存関係をアップグレードします。
- #4502 - 追加org.jooq.Resultsリストを拡張します。 ()呼び出しfetchManyでこの型を返します
- #4505 - スキップのMavenプラグインを追加します。プロパティ
- #4508 - フィールドからの述語=&GTを構築するDSL.condition(地図)を追加し、値マップます。
- #4511 - ユーザが誤って自動コミットとのfetchSizeを設定するときに警告をログに記録します== trueのPostgreSQLでます。
- #4515 - SQLiteのでINSTR()で位置を()をエミュレートます。
- #4523 - フィールドを取るすべてのメソッドに@のSafeVarargsアノテーションを追加...と同様の議論ます。
- #4524 - 行方不明に追加DSL.field(文字列、データ型、QueryPart ...)メソッド
- #4530 - boolAnd(条件)、boolAnd(フィールド)、boolOr(条件)、boolOr(フィールド)のサポートを追加します。
- #4535 - (参加既存ください)新しいinnerJoin()メソッドの同義語ます。
- #4536 - {左既存のメイク|右} OuterJoin(){左新しいの同義語|右} join()メソッド
- #4537 - GenerationToolは、複数の引数の設定を受け入れてみましょう。
- #4538 - 追加Constants.XSD_EXPORTとNS_EXPORTます。
- #4552 - DSLContext.connection(ConnectionRunnable)を追加します。
- #4553 - 関連するすべてのコールバックタイプに@FunctionalInterface注釈を追加します。
- #4555 - バッチが送信されていることを確認します。
- #4562 - コード生成時にテーブル名のドットをエスケープするが、それの後に資本のケースを使用しないでください。
- #4565 - org.jooq.tools.Convertにオプションのサポートを追加します。
- #4566 - ArrayRecordはリストを拡張してみましょう。
- #4587 - 追加のスキーマArrayRecord.getSchema()
- #4591 - .zipファイルの内部でプロジェクトフォルダが含まれている必要があり.zipの成果ます。
- #4594 - DSLContext.query(SQL)などを追加します。
- #4597 - 任意のマッチングSQLDataTypeを持っているか、いないときに警告をログに記録します。
- #4600 - Scalaの文字列補完を経て普通のSQL APIのサポートを追加します。
- の変更を破ります
- #4326 - CREATE SEQUENCE文がない1ダービーでます。 、シーケンスがMIN_VALUEで始めることができます
- #4423 - DSL.shl()とDSL.shrのリラックス型の制約()
- #4459 - Result.formatHTML()XSSの脆弱性が生じる可能性がありますHTMLコンテンツ、李>をエスケープしません。
- #4488 - からTable.getIdentity()のためにバインドされたリラックスます。
- バグ修正:
- #2364 - マルチ結果のクエリは、更新カウントでResultSetを混ぜることがあります。 jOOQが正しくfetchManyの両方をチェックしません()
- #2529 - 原因のDSL APIの欠陥に..重複キーON .. INSERTとSELECT .. INSERTを組み合わせることはできません。
- #2870 - 左側にエイリアスが含まれている場合TableOnStep.onKey()が間違ったジョイン条件を生成します。
- #3707 - 正確に属性値をシリアライズしないUDTRecord.toString()
- #3779 - RETURNINGでSELECT、INSERT ...を組み合わせることはできません。
- #4162 - 不正な形式のレコードユーザー定義型のPostgreSQLの配列を使用している場合、リテラルます。
- #4224 - ORA-00904:" SYS"" ALL_PROCEDURES"" OBJECT_ID&QUOT ;:無効な識別子のOracle 10gます。 とコードジェネレータを使用しました。
- #4225 - それはXXX.javaファイルを生成ScalaGeneratorログます。
- #4227は - ScalaGeneratorは予約語の独自のリストを持っている必要があります。
- #4229 - ScalaGeneratorが不要な輸入を生成します。
- #4235 - JDBCDatabaseが すべてのスキーマのためだけでなく、入力スキーマのMeta.getPrimaryKeys()を呼び出します
- #4236 - コンパイル列が呼び出され、コンパイルされたコード内のエラー"ヌル"ます。
- #4240 - JDBCDatabaseだけではなく、入力スキーマから、すべてのスキーマからテーブルをフェッチします。
- #4246 - HANADataTypeがSQLDataTypeの静的初期化子ブロックで初期化されていません。
- #4248 - MatcherStrategyでdaoImplementsオプションDAOクラスで実装文を生成していない
- #4258 - オラクルで定量行値式の述語のために生成されたエラーSQLます。
- #4262 - マニュアルチュートリアルでは、インポートする必要のjava.sql。*;ます。
- #4268 - INSERT ..フォーマットされたSQLます。 をレンダリングするとき句は新しい行にレンダリングされるべきVALUES
- #4269 - PostgreSQLのSETOFために生成なしの列[スカラー型]
- #4280 - )(ResultQuery.fetchSizeでのMySQLコネクタののfetchSize行動を文書化します。
- #4286 - jOOQコード例対マニュアルSQLます。 等価ではありません
- #4287 - 生成されたレコード内の未使用のインポートorg.jooq.Rowを取り外します。
- #4290 - DefaultTransactionProviderがConnectionインスタンスをキャッシュしないようにしてくださいます。
- #4291 - DUALについてのマニュアルのマニュアルページにHANAを追加します。
- #4292 - &QUOTの間違ったエミュレーション;総計"ネイティブにそれらをサポートしていない方言で()GROUP BY句ます。
- #4295 - 共通テーブル式の宣言がContext.subquery()フラグを設定していない
- #4300 - Sybase SQL Anywhereの中で正しく実装が存在する場合、DROPシーケンスます。
- #4306 - ArrayRecordが正しくOracleのランタイム・スキーマ・マッピングを実装していません。
- #4308 - SQLSERVER2014方言が正しいLIMITを生成しません.. OFFSET句ます。
- #4313 - コードジェネレータでNullPointerExceptionがすべてのリストを初期化せずにGenerationToolをバイパスし、String []型データベースます。 内のオブジェクトを空に
- #4314 - SQL ServerのUPDATE .. UPDATE句で不正にエイリアスを宣言テーブルから
- #4321 - ダービーにNULL可能なデータ型を使用したときに発生する無効なSQLがテーブルを作成し、ALTER TABLEステートメントます。
- #4324 - のDROP SEQUENCE文は、ダービーで必須RESTRICTのキーワードを持っています。
- #4328 - ダービーのALTER TABLEの悪い実装..列を変更.. SETデータ型ます。
- #4331 - {、ON DELETE参照.. | UPDATE}のSET DEFAULTは、現在ダービーでサポートされていません。
- #4333 - Firebirdのは、列がNULL可能でます。 あるときに、テーブルの退縮をCREATE
- #4335 - CREATE TABLE文のFirebirdのための@Supportが欠落しています。
- #4341 - いいえ、結果が更新カウントが含まれているSQL Serverの手順から取得されていません。
- #4344 - MockStatementを返す間違った更新カウントます。
- #4347 - 異なるスキーマからのオブジェクト型、参照オブジェクト型用に生成された不正なコードます。
- #4348 - のために不足しているドキュメント
- #4349 - トライアル/プロライセンスが誤ってオープンソース版で提供されます。
- #4354 - Result.intoために生成のJavadoc警告(フィールド、フィールド、...、フィールド)
- #4355 - @Generated注釈のフォーマットに起因するとの回帰ます。
- #4358 - ALTER TABLEをサポートしていないSQLiteのための間違った@Support値.. DROP、SET、制約をADDなど 。
- #4367 - MergeImpl.andNot(フィールド)と否(フィールド)の間違った実装ます。
- #4381 - マッチャます。 を含んでいる場合のMySQLで生成なし列挙
- #4385 - MySQLDSLで@Support注釈が欠落しています。
- #4391 - 例例外トランスレータのみのSQLExceptionを変換する必要があります。
- #4399 - DSLContext.meta()のgetTables()MySQLで現在のスキーマ に含まれていないテーブルの空のフィールドのリストを返します。
- #4406 - マニュアルは、サポートされているRDBMSの悪いリストます。 を参照
- #4409 - MySQLのALTER TABLEのために生成された不正な構文..のSET DEFAULTステートメントます。
- #4412 - カスタムデータ型についてのマニュアルセクション結合が悪いリンクます。 が含まれ
- #4417 - いくつかのプレーンなSQLクエリの一部のタイプミスのJavadocます。
- #4428 - ..なし使用できないRETURNINGをDELETE WHEREます。
- #4430 - バインディングます。 とタイプするルーチンのパラメータコード生成を修正しました。
- #4437 - 述語の行値式が空の行コレクションで失敗します。
- #4440 - fetchMany()CUBRIDでは動作しません。
- #4447 - 空のGROUP BY()句エミュレーションはCUBRIDに失敗します。
- #4466 - DSL.dateAddで不足しているCAST()()式全体をキャストに包まれてます。
- #4471 - あいまいなカラム名がレコードに含まれている場合Record.getValue(フィールド)は、間違った値を返し、スキーマ名は、引数 には存在しません
- #4481 - 括弧が欠けているときDSL.dateDiff(D1、D2)またはTIMESTAMPDIFF(D1、D2)レンダリング" D1 - D2"ます。
- #4490 - 。RecordListener.exception()が呼び出されます。 まだ設定に接続されていない記録し、
- #4494 - CustomField.bindでは使用できませんgetSQL()メソッド()マニュアル に記載されているように
- #4506 - 括弧を生成しなければならないフィールドとしてラッピング条件ます。
- #4510 - マニュアルタイプミス。ローカル変数が存在しない
- #4526 - xxxImplementsを使用している場合ScalaGeneratorが壊れたコードを生成します。
- #4531 - 生成されたスキーマと生成されたシーケンスのクラスが警告を生成する、お互いをインポート(未使用のインポート)ます。
- #4540 - org.jooq.impl.Fields.field(フィールド)のパフォーマンスは、大きく改善される可能性が最初のアイデンティティをチェックする場合
- #4545 - Oracle 10gのでOracleパッケージのエラー発生コードます。
- #4547 - 例外がスローされたときのパッケージが生成されません。
- #4554 - 静かにクエリを破棄DSLContextの#バッチ(クエリ)
- #4557 - 春の例でExceptionTranslatorがSQLErrorCodeSQLExceptionTranslatorためdialect.name()を使用すべきではありません。
- #4563 - DefaultRecordMapper上の不正なJavadocが唯一の公共のメンバー/メソッドは、 と考えられていると主張しています
- #4569 - マニュアルは廃止DefaultGeneratorます。 を参照
- #4575 - javadocのターミネータでSQLコメント破る生成されたコードます。
- #4576 - JavaWriterは Javaでサポートされていない正規表現の構文を使用しています
<李は>#4360 - DSL.timestamp()は、SQLiteの中に誤った出力を生成します。
添付&QUOT; - <李は>#4372はUDTRecordはない&QUOTです。スタンドアロン・ストアド・ファンクション・コールから取得したときます。
<強い>バージョン3.5.1のの新機能:
- バグ修正:
- #3378エラー
- #3803生成しませんCREATE TABLE文をNOT NULL制約ます。
- Cursor.fetchOne(RecordMapper)および他の方法で#3811潜在的にNullPointerExceptionます。
- 集合演算で使用される#3817は、ORDER BYは、任意の有資格のフィールドを含めることはできません。
- #3819は、新たなjooq - メタ - x.x.xsdを記述するためにConstants.XSD_METAとConstants.NS_METAを追加します。
- の値(ROW1 ...)で作成されたPostgresのための#3822無効なSQLます。
- は#3824 PostgreSQLのDATEADD()が誤って返しTIMESTAMP値ます。
- #3831非推奨の警告フラグが有効でない場合でも表示されます。
- #3833 org.jooq.CreateTableAsStep.column(フィールドフィールド、データ型タイプ)のSQLiteます。
- のSQLiteのCREATE VIEW文は、列の名前を変更することはできません。#3835
- のSQLiteでサポートされていないALTER TABLE文、上の#3838悪い@Support注釈ます。
- #3855のOracle REALとFLOAT型は、コードジェネレータは、BigIntegerのを生成させる代わりに、ダブルタイプの
- の区切り文字と#3863、CSVエクスポートだけます。 正常に動作しません
- プライベートJavaGenerator.newJavaWriter()メソッドにアクセスすることはできません。#3880
- #3888データ型変換は、バインディングを使用して、ユーザーの入力ます。 のように[]バイトを渡すとき失敗します
- #3895無料体験版は、もはや2015年1月1日 の後に動作します
- :
- です。これは、ユーザーのタイプに標準JDBC型をマップするために使用することができ、既存のorg.jooq.Converter SPIよりもはるかにさらに行きます。新しいバインディングのSPIを使用すると、事実上、* ALL *ベンダー固有の型がサポートすることができます。本当に間違って、我々は今、このようなバインディングを使用するために、既存の機能を後付けした理由であるたjava.sql.Timestampを介して表現されます。 - 。例としては、PostgreSQLのJSONまたはhstoreの種類、またはOracleのDATE型を含みます
- ストアドプロシージャはどこにでもあります。
- はストアド・プロシージャのサポートは、一般的に、このリリースで改善されました。これは、PL / SQLまたはTransact-SQLので使用する新しい少し機能と便利さの多くを含んでいます。例えば、jOOQ 3.5.0は現在、Oracle Spatialのに直接結合するが可能になり、PL / SQLオブジェクトとテーブルタイプのクロススキーマの参照をサポートしています。 http://blog.jooq.org/2014/11/04/painless-access-from-java-to-plsql-procedures-with-jooq/ます。 :ここでは、このエキサイティングな改善についてブログしました
- そして、私たちはそれであったが、我々は、オブジェクト型をサポートして非常にうまく統合のOracle AQ、の基本的なサポートをも追加しました!
- SQLの改善;ます。
- はこのリリースでは、我々はUNION、INTERSECTのサポートを最後に持っている、と右のような操作をネスト、同様に、ORDER BYとLIMITとそれらを組み合わせることに関してEXCEPT .. OFFSETます。
- のは、いくつかのより多くのDDLをお話しましょう
- 我々を含むDDL文、 のサポートを追加し続けてきました
- CREATE TABLEを
- SELECT CREATE TABLE ASを
- VIEWおよびDROPビューを作成します。
- CREATE INDEXおよびDROP INDEXます。
- CREATE SEQUENCEおよびDROP SEQUENCEます。
- DROP .. IFが存在します。
- また、将来的にはより多くのDDL文のサポートを追加していきます。
- コード生成の改善:
- 私たちは、例えば新しいXMLDatabase、XML形式のメタ情報を読み取ることができ、コード生成の設定のサポートを追加しました標準INFORMATION_SCHEMA.xmlから、またはVertabeloのXMLエクスポート形式から:http://blog.jooq.org/2014/09/05/importing-your-erd-export-into-jooq/ます。
- jOOQの将来のバージョンでは、内蔵含まれるXML形式の様々なサポートます。
- 私たちは彼らのGradleのビルドを私達のユーザーがjOOQコード生成の統合を支援するGradlewareからエティエンヌステューダーによって素晴らしい貢献をしました。
- ではなく、少なくとも最後に:Informixの:!
- ああ、ところで、私たちは今も、IBMの第二の最も人気のあるデータベースをサポートしています。このデータベースのサポートはjOOQエンタープライズ版に含まれることになります。
- 機能と改善:
- #561 Informixデータベースます。 のサポートを追加
- #994は、Postgresの&QUOTのサポートを追加します。hstoreの&QUOT;データ型ます。
- #1341にDriverManager.getConnectionを模倣DSL.using(文字列のURL)や他のメソッドを追加します()
- #1380のequals()、hashCode()メソッドのPOJOの李>を生成します
- #1392の結果から、挿入文をレンダリングするformatInsertを()を追加します。
- #1410のPostgres&QUOTのサポートを追加します。DISTINCT ON&QUOT;節ます。
- #1658は、SQL標準のUNION構文のサポートを追加します。 UNIONのjOOQの現在の理解は、単に便利である。
- #1761リファレンスマニュアルのバージョンます。
- 行のための#2054の実装限定比較述語[N]行値式ます。
- #2155ルーチンとのUDTます。 に変換のサポートを追加します。
- #2209の追加結果Result.into(フィールド、フィールド、..、フィールド)の結果を変換するために/別のタイプにレコードます。
- #2289はjOOQ-フライウェイ-例を追加し、ドキュメントモジュールはフライウェイと統合する方法を示します。
- #2604 実現する方法を非同期クエリーを説明するマニュアルにセクションを追加します。
- #2674 MockConnection / MockDataProvider / MockExecuteContextにストアドプロシージャのサポートを追加
- #2788は、PostgreSQL&QUOTのサポートを追加します。JSON&QUOT;データ型ます。
- #2886 jooq - コード生成 - Mavenは、JDBCドライバのプロジェクトの依存関係を調べる必要があります。
- #2907エミュレートUPDATE .. DB2でファイナルテーブル(UPDATE ...)の中から選択を通じてRETURNINGます。
- #2925 Firebirdのためのサポートを追加し、ストアドプロシージャます。
- #スキーマが同じ であることが知られている3121スキップコードを再生成
- #3151追加&QUOT;クエスチョンマーク&QUOT;このマニュアル&QUOTを読み取る方法、マニュアルにツールチップが&QUOTにジャンプを可能にすると、節ます。
- #3248(;;タイププロバイダ&QUOTすなわち&QUOT)を結合するためのサポートを追加
- #3337 CREATE TABLE文 のサポートを追加
- #3339 CREATE INDEXおよびDROP INDEXステートメントます。 のサポートを追加
- #3340ビューを作成し、VIEWステートメントをDROPをサポートます。 を追加します。
- #3346コードジェネレータで、JDBCドライバのプロパティを省略することを許可ます。
- は#3355は、サポートを追加します。
- #3370生成されたオブジェクトのクラスのJavadocをオーバーライドを許可ます。
- #3381 CREATE TABLEのサポートを追加
- #3386は、機能・リレーショナル変換のためのJava 8のストリームを使用して、いくつかのテストケースを追加します。
- #3388(0を選択)、ORDER BYによってOVER SQL ServerのROW_NUMBER()(@@バージョン、ORDER BY)を交換します。
- #3389は、便宜上DSLContext.currval(文字列)とのnextval(文字列)を追加します。
- #3412既存fetchValue(...)メソッド に似リストDSLContext.fetchValues(...)を追加します
- #3418追加便宜上DSL.defaultValue(フィールド)
- #3425のOracle AQます。 のサポートを追加
- #3431 MySQLのインデックスヒントをサポートます。 を追加します。
- #3435 [新しいテーブル]構文ます。 INTO .. SQL ServerのSELECTのサポートを追加
- #3442 MockResultSet.getArray()メソッドます。 を実装
- #3443変換でJDBC配列型ます。 に値/配列に変換するためのサポートを追加
- #3444はMockArray、JDBCの配列型のモック実装を追加します。
- #3451 XMLファイルからデータベーススキーマを生成するXMLDatabaseを追加します。
- #3477別のフィールド名にフィールドの名前を変更するField.as(フィールド)を追加します。
- #3480は、便宜上XXXContext.dialect()とXXXContext.familyを()を追加します。
- #3483レッツ両方がマッチし、完全修飾列名だけでなく、非修飾列名
- #3495のGradleます。 でjOOQのコードジェネレータを使用する方法を示すサンプルプロジェクトを追加します。
- #3496ログインQuery.isExecutableを返すクエリが実行されるデバッグメッセージ()== falseを
- #3501はResultQuery.fetchSetを(追加)とLinkedHashSetsを返すResult.intoSet()メソッド
- 統合テスト時のjOOQ APIは@Supportアノテーションの正しい適用を検証するための計測器#3506
- #3511 INTERSECTを通じてDISTINCT述語エミュレーションを改善ます。
- #3512は、PostgreSQL固有のCOUNT()拡張機能をサポートするためにDSL.count(表)とDSL.countDistinct(表)を追加します。
- formatCSV / formatXMLの#3513ストリーミングバージョンます。
- #3519文書のPostgreSQL JDBCの限界=真
- #3525機構を包含/除外jOOQ - メタのためのより詳細なデバッグログを実装ます。
- #3532 DROPのサポートを追加... IFは、 DDLにEXISTS句
- DSLContextからDSLに#3551のコピー普通のSQLクエリ建設APIます。
- #3557 PostgreSQLユーザ定義の集約関数をサポートます。 を追加します。
- の警告/無効フェッチを有効にする設定#3558追加
- #3559の伝播jOOQ・コード生成の関係フラグも、関係ます。 を取得するために(おそらく高価な)クエリを防止するために、
- #3566は、XML文字列からコードを生成するGenerationTool.generate(文字列)を追加します。
- #3569タグは、もはやコード・ジェネレータの設定で必須です。
- #3579のエミュレートがネイティブそれらをサポートしていないデータベース内の集合演算子ます。 を入れ子になりました
- が格納されている機能については、Oracleスカラー副問合せのキャッシュを有効に設定#3592追加呼び出します。
- #3595はMockResult(録音データ)簡易コンストラクタを追加します。
- スキーマごとのベースで#3596レッツコードジェネレータに空の生成パッケージます。
- #3597は、PostgreSQLのためにも、テーブルやカラムのコメントを生成します。
- #3598の表は、独自のコメントを定義する場合、生成&QUOTはありません。このクラスはjOOQによって生成される&QUOT。 Javadocでます。
- #3599 @Generated注釈のよりよいフォーマットを実装します。
- SQL標準のための#3600の追加サポートがWITH CHECK OPTIONが.. SELECTます。
- は#3610は、バージョン管理下に保管生成源との違いを説明するか。
- #3611リポジトリにjOOQ / Nashorn例を追加します。
- #3612は、コードジェネレータにERDのエクスポート形式をインポートする方法を示すサンプルプロジェクトを追加します。
- #3622 Field.in(結果)のサポートを追加し、行[N] .IN(結果)
- #3623という名前のパラメータをレンダリングするParamType.NAMED_OR_INLINEDを追加します。
- #3626地図Result.intoGroups(表)を追加します。
- [条件]#3627の場合の単純化されたAPIを追加し、[選択]表現ます。
- #3628 [フィールドの追加DSL.field(選択)
- コード生成の設定ではオプション#3752メイクエレメントます。
- #3754 Convert.convert()内のプリミティブ型の変換を説明するのJavadocます。
- 差がある場合にのみ、#3756を再生成したファイル
- #3760が追加Record.intoList()
- #3769はorg.jooq.Convertersを追加し、連鎖した変換の実装ます。
- #3773が設定Javadocの設定スレッドの安全性のjOOQの理解を説明します。
- #3775レッツQueryPart.toString()を生成フォーマットされたSQLます。
- #3782 SQLDIALECTによってorg.jooq.util.Databaseを作成するために、メソッドを追加します。
- APIの変更(下位互換性):
- #3345を廃止org.jooq.api.annotation.Stateと遷移注釈ます。
- #3356を廃止Select.fetchCount()
- #3703を廃止CastMode.SOMEとRenderContext.cast()
- #3770を廃止ます。
- APIの変更(互換性のない)
- 行動の変化(互換性のない):
- #2486は、内型リライトの精度、スケール、長さを指定することができます。
- エスケープMySQLのバックスラッシュを有効にするには、設定#3000追加
- 引用された名前を生成する必要があります文字列名を受け入れる#3407 DDL文ではなく、普通のSQLます。
- #3541変更DSLContext.nextval(文字列)とCURRVAL(String)を内部的に代わりDSL.sequenceの)DSL.sequenceByNameを(呼び出しに()
- バグ修正:
- レンダリングSQLの#2080構文エラー制限を使用して()。(オフセット)SQL Serverの でエイリアスの突起を持ちます
- は#3206 DSL.field(条件)が正しくNULLを処理しません。
- #3347 Field.in(Tが...)コレクションの引数から身を守る必要があります。
- #3353マニュアルのJavadocアンカーは、JDK 8のJavadocます。 の最近の変化と、もはや正しいされていません
- は、コピー後の#3359ストアは、()()、INSERTの代わりにUPDATEを実行します。
- #3360のSQLite回帰識別子に特殊文字を使用します。
- #3362 DSLContext.batchStoreは()レコードは新しいレコードの行に2回実行されたバッチストアがある場合Settings.updatablePrimaryKeysがtrue に設定されている場合、INSERT実行
- #3363 UpdatableRecord.store()Settings.updatablePrimaryKeysをtrue に設定されている場合、)(削除した後、代わりにINSERTの更新を実行します
- #3372 syntheticPrimaryKeysコード生成オプションが現在文書化されていない
- #3373のすべてのサポートされるデータベースのリストは表示されませんDUAL表についてのマニュアルのページ
- #3382、NOT NULL制約と入力した情報が誤って生成されます。
- 新しいjOOQ 3.4トランザクションAPIに関するドキュメントが不足して#3390追加
- #3392コールsetAccessible(真)本当に必要な場合にのみます。
- は#3400 ALTER TABLEはFirebirdの上で不正な構文を生成します。
- #3402間違った文字長ます。
- #3408は、再びプラグインMavenのからデフォルトlog4j.xml設定ファイルを削除します。
- #3413、Oracleは非推奨のフラグがオフに設定されている場合ArrayRecordsは反射により構築することができません生成されます。
- #3420 NullPointerExceptionがOracleのAQテーブル用のコードを生成するときます。
- #3427内部QueryCollectorSignal例外は、ユーザーコードの中に逃げます
- #3430 JDBCエスケープ構文が正しく普通のSQLが改行が含まれている場合、普通のSQLからレンダリングされていません。
- 取引文書に関する#3436マニュアルのセクションでは、DSLContext代わりの構成 であることをctxを
- #3437 QualifiedFieldがRenderContext.qualify()を尊重していません。
- #3445は、プロフェッショナル版とMavenのコードジェネレータを実行することはできません。
- #3450バックスラッシュは エスケープされません
- #3455 UPDATE ..は、派生テーブルの不正なSQLまたはエイリアステーブルをレンダリングします。
- 生成されたコードで#3456名の衝突ルーチン引数が呼び出さ&QUOTされ、F&QUOT; (関数)または&QUOT; P&QUOT; (手順)
- #3462 Field.in(オブジェクト...) 誤って、選択した引数で呼び出すことができます
- #3463 Field.in方法trueCondition()またはfalseCondition()を返すべきではありません(...)は、
- #3473 java.lang.IllegalArgumentExceptionが:フィールド(ヌル)が行に含まれていません。
- 生成されたコードで#3488コンパイルエラー、同様のテーブルT_AとTAが存在する場合。
- #3489 DefaultTransactionProviderは後ます。 をコミットConnection.releaseSavepoint(セーブポイント)を呼び出すことはありません
- Select.intersect()とSelect.except()の#3507悪い@Support注釈ます。
- #3514 ResultQuery.fetchLazy()のfetchSize()李>を無視します
別のテーブルで同じ名前を共有して、外部キーの外部キー参照の - #3520重複列情報
- コード生成に導入された#3526不要な警告ログます。
- 本当に必要でない場合は、Oracleの名前付きパラメータを使用して、#3533は避けます。
- releaseSavepoint()へ#3537不正な呼び出します。
- #3542 OracleのDDL文がバインド変数を使用することができません。
- #3544は、すべてのDDLクエリのタイプは拡張する必要がありますDDLQueryマーカーインターフェイスを追加します。
- #3545エラーを修飾使用して、H2で大文字と小文字が区別シーケンス名
- バインド変数を受け入れない#3547 DSLContext.batch(文字列)
- 署名に型シノニムを使用して、#3552、OracleのストアドプロシージャはjOOQを介して使用することはできません。
- #3556は、Oracleストアドプロシージャは、他のスキーマからの型ます。 を参照していない生成しました
- #3560スロー発見ます。
- は#3567コード・ジェネレータのエラーメッセージが間違ったXSDを指します。
- #3577レンダリング&QUOTしないでください。空&QUOT; OFFSET 0節ます。
- #3578存在しないExecuteContext.dialectを参照わずかマニュアルのバグ()メソッド
- #3582 Record.from(Object)を挿入するときに制約違反につながる可能性がありDataType.nullable()を考慮していない
- #3591コンパイルエラーます。
- ビューに挿入することはできません。#3602
- #3608タイポます。
- #3624コンパイルエラーコンバータが生成ルーチンとのUDTに適用されたときに
- #3630 ArrayOutOfBoundsException jOOQ普通のSQLを使用してMySQLにエスケープバックスラッシュを使用します。
- #3634 Record.into(表)は、間違ったテーブルにマップ
- #3639 java.lang.NoSuchMethodException:春TransactionAwareDataSourceProxyを持つOracleアレイを使用してcreateARRAYます。
- 既知のMySQLのバグを回避するためのMySQLの日付/時刻リテラルのための#3648を使用するJDBCエスケープ構文ます。
- #3650 TableRecord.insert上のNullPointerException()主キー情報が存在しないときます。
- #3664 UNION ALL、ORDER BY、LIMIT及び回帰ます。
- #3665タイプミスます。
- #3673 OracleDSL.toChar()文字列型を必要とすべきではない方法でます。
- #3682 PostgreSQLのINSERT ..普通のSQLテーブルでは動作しませんRETURNINGます。
- バグ修正:
- バグ修正:
- バグ修正:
完全ます。 SELECT句でPostgreSQLのテーブル値関数を修飾する
新しいバインディングSPIます。
<強い>バージョン3.5.0のの新機能であります
この刺激的な放出の主な改善は、完全にユーザタイプのJDBCの相互作用のすべての側面を制御するために使用することができる新しいorg.jooq.Binding SPI
<李>のTransact-SQLおよびMySQLでは、我々は今、ストアドプロシージャから結果の任意の番号を取得サポートし、我々はまた、テーブル値関数のための火の鳥の非常に興味深い構文など、FirebirdのPSQLのサポートを実装しました。
<李は>ところで、私たちは、Oracle、PostgreSQLそしてHSQLDBを含むさまざまなデータベースのためのユーザー定義の集計関数をサポートしています。間違いなくあなたがに見るべきもの!
Informixの:
互いの間に
SEQUENCEおよびDROP SEQUENCE文をCREATEするために
<李は>#3375は、PostgreSQLのテーブル値関数のサポートを追加します。
文は李>と
Connection.autoCommitを使用して大規模なカーソルに対して、
jOOQメタに
<李は>#3565は、便宜上XXXContext.settingsを()を追加します。
名前が指定されている場合にのみ、
CASE式でブールフィールドをエミュレートするときに
Settings.updatablePrimaryKeysが設定されている場合、
<李は>#3369は、Oracle DATE列にバインドされたjava.sql.Timestampバインド値について(日として?)、CASTをレンダリングます。
データ型のFirebirdのドメインを使用する場合に
データ型がNULL可能である場合に
FirebirdのためのjOOQによって生成された
ExecuteListenerで対処しない場合は
SQLコメントの
文のFROM
非常に大規模なMySQLデータベースの主キーの
<李は>#3586 Context.paramTypeは()の代わりにINDEXEDます。の最初はnullです
<李は>#3590マニュアルが誤ってSQL標準からすることなく、SELECT可能にすることを主張します。
マニュアルのチュートリアルのコードで生成された
取引方法のドキュメントの
自己結合の後にエイリアステーブルを渡すとき、
Javadocの中に
このの要件の
- のJava 2 Standard Editionのランタイム環境ます。
コメントが見つかりません