これは、流暢な、直感的なDSLでアクティブなレコード、ストアドプロシージャ、高度なデータ型、複雑なSQL、typesafety、ソースコード生成とJavaを組み合わせています。
jOOQは、データベース·スキーマの単純なJava表現を生成します。
すべてのテーブル、ビュー、ストアドプロシージャ、列挙型の場合、UDTは、クラスです。
jOOQは、簡単に使用できるアクティブレコードパターンを実装します。これは、ORマッパーではありませんが、1提供:テーブル/ビューとクラス間の1のマッピングを。列とメンバー間。
また、内蔵のDSLを使用して照会するタイプセーフ書き込みコンパイル時を可能にします。
jOOQは、より複雑なUNIONの、ネストされたSELECT文を含むすべての標準のSQL言語機能をサポートして結合、エイリアシング
jOOQは、開発者にこのようなストアドプロシージャ、UDTの、ARRAYのと、より多くのようなベンダー固有の拡張機能を使用することができます。
特徴:
この一般的な特徴:
オブジェクト指向のSQLモデリング
SQLコード生成
ORマッピング
タイプセーフなSQL
ストアドプロシージャとUDTサポート
サポートされるデータベース:
MySQLの5.1.41と5.5.8
H2 1.3.154
オラクルXE 10.2.0.1.0
DB2 9.7
PostgreSQLの9.0
HSQLDB 2.0.0
inofficial JDBCドライバV056とのSQLite
ダービー10.7
MSSQL
Sybaseの
の今後のサポート:
アングル
凰
このリリースで新しい何が:
この工場は、DSL(静的QueryPart建設)とDSLContextに分割されました(クエリの実行、"取り付け" QueryPart建設)。これは大いによりきめ細かいキュータのライフサイクル管理を可能にしながら、全体的なDSLの経験を向上させます。
ConnectionProviderのは、JDBC接続のライフサイクルの抽象化として導入されています。スタンドアロンの接続およびプールされたデータソースモードはまだサポートされていますが、あなたは今より多くの制御のために、独自のされたConnectionProviderを注入することができます。
パフォーマンスの向上の多くは、JDBCからデータをフェッチする際jOOQによって引き起こさオーバーヘッドの大部分を除去するjOOQ APIの内に実装されています
JDBCモックAPIを使用すると、jOOQの上に構築されたアプリケーションのためのシンプルなユニットテストの作成を支援するために追加されました。
VALUES()コンストラクタは、現在サポートされており、一度にエイリアステーブルと列に列リストを導出します。
データ型のAPIが大幅に簡略化されています。これは、実行時の精度、スケール、長さ情報の導入を可能にしました。
CRUD()は、(店舗に加えて)、より多くのCRUDのバッチ操作は、明示的なINSERTおよびUPDATEを通して改善し、jOOQの内部変更フラグを明示的に処理されています。
このバージョン2.6.1の新機能です:
このバートPostgresの配列のシリアライズ"または&#のx5c。文字が文字列に含まれています[]
AbstractDataType.equalsの非効率的な実装()とhashCode()
これら二つは非常に頻繁に呼ばれているように、AbstractField.hashCode()とAbstractTable.hashCode()と同様のを改善
StringUtils.toCamelCase中のstring.Splitに非効率的な呼び出しは、()()POJO変換呼び出しで無視できない性能ovrerheadにつながります
悪いSQLは、DB2でOFFSET LIMITと[いくつかの機能]、ORDER BYを組み合わせる..、SQL Serverのレンダリング
SQL ServerおよびSybase用のOVERためにレンダリング悪いSQL([一部の機能]、ORDER BY)
org.jooq.impl.FieldListでのスレッドの安全性の問題
マニュアルのorg.jooq.debug。【IMPL] .DebugListenerに悪い参照
同じテーブル名がSQL Serverで複数のスキーマに存在する場合に不正なコードを生成しました
このバージョン2.5.0の新機能です:
このアングルでバインド値のキャストを削除します
SQLiteのでRPADとLPADをシミュレート
Oracle Textの機能のサポートを追加
不変のPOJOを生成するオプションを追加
サポート"楽観的ロック" )(UpdatableRecord.store(中)および削除
生成されたDAOクラスでfetchBy [ColumnNameの]メソッドを生成
接続またはデータソースとのファクトリーを使用する場合の違いを文書化するためにいくつかのJavadocを追加
完全な成果物にjavax.validation APIを追加
オラクルCONNECT_BY_ROOTの擬似列をサポートするためにFactory.connectByRoot(?;&#のSpark Proのフィールド&#のx3c)を追加
Factory.field(文字列、QueryPart ...)と同様Factory.condition(文字列、QueryPartを...)を追加
CONNECT BYと組み合わせて、BY句OracleのORDER SIBLINGSのサポートを追加
方言特有の工場にDataSourceを取って行方不明のコンストラクタを追加します。
スキーマ固有の工場でDataSourceを取って行方不明のコンストラクタを生成します
SQLiteのでREPEATをシミュレートします()
このバージョン2.4.0の新機能です:
この追加されましたResult.intoResultSet()JDBCのResultSetで結果をラップします
日付/時刻リテラルのJDBCエスケープ構文を避けます
POJOをするためのDAOクラスとインターフェイスを生成
文書JavadocのExecuteListenerのライフサイクル
Postgresの&QUOTのサポートが追加されましたが、いずれ" (引用符で!)のデータ型。これはjava.lang.Object上位にうまくマッピングするようです
コード生成でサポート大文字と小文字を区別しないスキーマ名
ソースコード·ジェネレータは、任意のアーチファクトを生成しないときに、いくつかのWARNレベルのログを追加しました
Postgresの「ILIKE演算子をサポートするために追加Field.likeIgnoreCase()
追加された工場(データソース)と同様のコンストラクタ
利便性のために追加されましたFactory.batchStore(?;&#のSpark Proの;&#のSpark Proのコレクション&#x3cは;? UpdatableRecord&#x3cを拡張します)
利便性のために追加DataType.convert(オブジェクト...)とDataType.convert(コレクション&#のx3c;?;&#のSpark Proの)
Settings.getRenderNameStyle(に応じてエスケープされQueryPartsをcontructに追加org.jooq.Name Factory.name(文字列))
追加されましたFactory.fetch(文字列、QueryPart ...)とFactory.execute(文字列、QueryPart ...)と同様の方法は、普通のSQLで任意QueryPartsをサポートします
このバージョン2.3.2の新機能:
この修正:
AbstractDataType.convert(オブジェクト)でのパフォーマンスの問題。彼らは明らかに不要だときに変換をしないようにします。
生成された[スキーマ名]ファクトリクラスにいくつかの意味のJavadocを生成します。
適切な場合に生成されたJavadocを追加しました改行
カスタムジェネレータ戦略のprintImplements()のテーブルのモード==レコードと呼ばれています。
JAXBのアンマーシャリングを使用して、デフォルト設定の非効率的なクローニングは、無視できない全体的なオーバーヘッドにつながります。 (有用XJCクローンプラグインの短い)の代わりにシリアル化を使用してください。
AbstractDatabaseでキャッシングSQLDIALECTは重く、コード生成のパフォーマンスが向上します。
コンパイルエラーSQL Serverのストアドプロシージャは、QUOT&という名前のパラメータを持っている場合、値]です。
不正な構文のSELECT / * +ヒントオラクルで... * / DISTINCT。
NOT条件で大型の分割は間違っています。部品がAND、ORないで接続する必要があります。
このバージョン2.2.0の新機能である:CUBRIDデータベースの
このサポートが追加されました。
このバージョン2.1.0の新機能です:
このカスタム·タイプ·マッピングとjOOQを提供する可能性。
jOOQによってレンダリングSQLのSQLのスタイルを制御するための新しいランタイム構成オプションがたくさんあります。
NULLの取り扱いはNULL(実行のために春と一緒に例)SQLビルダーライブラリとしてjOOQを使用しての賛成で改善されていない、もはやインライン化されていますが、変数と結合しました。
jOOQは現在、直感的な構文を使用して、リレーショナル分割動作のシミュレーションをサポートしています。
このバージョン2.0.5の新機能です:
このリスナーとSQLトレースのサポートを実行します。 jOOQあなたは、イベントのすべての種類を通知するjOOQのクエリ実行エンジンに独自のリスナーをフックすることができます
既存SchemaMapping機能を備えています。彼らは今、実行時設定の一部であります
するStatementType設定。工場は、インライン化された変数を(バインド変数付き)java.sql.PreparedStatementsまたは静的java.sql.Statementsを実行するかどうかを指定します。
このバージョン2.0.0の新機能です:
このAPIは、より静的になりました。
デフォルトでは、jooq-コード生成は、現在生成されます"ダイナミック"既存の静的なものとは対照的に、メタモデル。
例外は、もうチェックされません。
ウィンドウ関数は、現在だけでSQLのようにその基礎となる集約関数から構成されています。
この要件:
このJavaの1.6以上
コメントが見つかりません