Es kombiniert aktive Datensätze, gespeicherte Prozeduren, erweiterte Datentypen, komplexe SQL, typesafety, Quelltextgenerierung und Java in einer fließenden, intuitive DSL.
jOOQ erzeugt eine einfache Java-Darstellung des Datenbankschemas.
Für jede Tabelle, Ansicht, gespeicherte Prozedur, enum, ist UDT eine Klasse.
jOOQ implementiert eine einfach zu bedienende aktive Aufzeichnungsmuster. Es ist nicht eine OR-Mapper, aber eine 1: 1-Abbildung zwischen Tabellen / Views und Klassen. Zwischen den Säulen und Mitglieder.
Es ermöglicht auch für das Schreiben der Kompilierung typsichere Abfragen mit Hilfe der integrierten DSL.
jOOQ unterstützt alle Standard-SQL-Sprachfunktionen einschließlich der komplexeren UNION ist, verschachtelte SELECT, Joins Aliasing
jOOQ ermöglicht Entwicklern die Verwendung von herstellerspezifischen Erweiterungen wie Stored Procedures, UDT, ARRAY und viele mehr
Eigenschaften .
- Allgemeine Merkmale:
- Objektorientierte Modellierung SQL
- SQL Code-Erzeugung
- OR-Mapping
- Typesafe SQL
- Gespeicherte Prozedur und UDT Unterstützung
- Unterstützte Datenbanken:
- MySQL 5.1.41 und 5.5.8
- H2 1.3.154
- Oracle XE 10.2.0.1.0
- DB2 9.7
- PostgreSQL 9.0
- HSQLDB 2.0.0
- SQLite mit inoffiziellen JDBC-Treiber v056
- Derby 10.7
- MSSQL
- Sybase
- Future Unterstützung für:
- Ingres
- Firebird
Was ist neu in dieser Pressemitteilung:
- Factory hat in DSL aufgeteilt (statisch QueryPart Bau) und DSLContext (Abfrageausführung, & quot; befestigt & quot; QueryPart Bau). Das die Gesamt DSL Erfahrung stark verbessert und ermöglicht für feinere Executor Lifecycle Kontrolle.
- A Connection hat als Abstraktion der JDBC-Verbindungslebenszyklus eingeführt. Die Standalone-Anschluss und gebündelt Datasource-Betriebsarten werden weiterhin unterstützt, aber Sie können jetzt spritzen Sie Ihre eigenen Connection für mehr Kontrolle.
- Viele Leistungsverbesserungen innerhalb des jOOQ API Entfernen die meisten der Overhead durch jOOQ beim Abrufen von Daten aus JDBC verursacht umgesetzt
- Ein JDBC Mock API wurde hinzugefügt, um Ihnen helfen, einfache Unit-Tests für Ihre Anwendung auf der Oberseite des jOOQ gebaut zu erstellen.
- A VALUES () Konstruktor wird nun unterstützt, und abgeleitete Spalte Liste an Alias-Tabellen und Spalten in einem Zug.
- Der Datentyp API wurde stark vereinfacht. Dies ermöglichte die Einführung von Laufzeitgenauigkeit, Maßstab und Längeninformationen.
- CRUD hat viele mehr CRUD Batch-Operationen, explizite INSERT und UPDATE (zusätzlich zu speichern ()) und expliziten Umgang mit internen verändert Fahnen jOOQ ist verbessert worden.
Was ist neu in Version 2.6.1:
- Bad Postgres Array Serialisierung bei & quot; oder & # x5C; Zeichen in einem String [] enthalten
- Ineffiziente Implementierungen AbstractDataType.equals () und hashCode ()
- Erhöhen AbstractField.hashCode () und AbstractTable.hashCode () und ähnliche, wie diese beiden sind sehr oft als
- Ineffiziente Aufruf String.split () in StringUtils.toCamelCase () führt zu einer nicht zu vernachlässigenden Leistung ovrerhead in POJO Transformation nennt
- Bad SQL wiedergegeben, wenn die Kombination von ORDER BY [irgend-Funktion] mit LIMIT .. in DB2 OFFSET, SQL Server
- Bad SQL für OVER für SQL Server und Sybase gemacht (ORDER BY [irgend-Funktion])
- Themen-Sicherheitsproblem in org.jooq.impl.FieldList
- Bad Hinweis auf org.jooq.debug. [Impl] .DebugListener im Handbuch
- Bad Code erzeugt, wenn die gleichen Tabellennamen in mehrere Schemas in SQL Server existiert
Was ist neu in Version 2.5.0:
- Entfernen Gießen von bind Werte in Ingres
- Simulate RPAD und LPAD in SQLite
- Hinzufügen von Unterstützung für Oracle Text-Funktionen
- Option In den unveränderlichen POJOs erzeugen
- Support & quot; optimistische Sperren & quot; in UpdatableRecord.store () und delete ()
- Generieren fetchBy [Spaltenname] Methoden erzeugt DAO-Klassen
- Fügen Sie etwas Javadoc, um den Unterschied zwischen der Verwendung einer Fabrik mit einer Verbindung oder mit einer Datasource-Dokumentation
- In javax.validation API, um volle lieferbar
- In Factory.connectByRoot (Field & # X3C; & # x3e;), um die Oracle CONNECT_BY_ROOT Pseudo-Spalte unterstützt
- Factory.condition (String, QueryPart ...) ähnliche in der Factory.field (String, QueryPart ...)
- Hinzufügen von Unterstützung für Oracle ORDER BY-Klausel SIBLINGS, in Kombination mit CONNECT BY
- Fehlende Bauer unter Datasource Dialekt spezifische Fabriken
- Generieren Sie fehlende Konstruktoren unter Datasource in Schema spezifische Fabriken
- Simulieren REPEAT () in SQLite
Was ist neu in Version 2.4.0:
- Added Result.intoResultSet (), um ein Ergebnis zu wickeln in einer JDBC ResultSet
- Vermeiden Sie JDBC-Escape-Syntax für Datum / Zeit Literalen
- Generieren-DAO-Klassen und Schnittstellen für POJOs
- Dokumentlebenszyklus eines ExecuteListener in der Javadoc
- Unterstützung für Postgres & quot; jede & quot; Datentyp (mit Anführungszeichen!). Dies scheint gut zu java.lang.Object Karte
- Unterstützung Groß- und Kleinschreibung Schemanamen in der Codegenerierung
- Hinzugefügt einige WARN-Level-Protokollierung, wenn die Source-Code-Generator keine Artefakte erzeugen
- Added Field.likeIgnoreCase (), um Postgres 'ILIKE Betreiber unterstützt
- Hergestellt Factory (Datasource) und ähnliche Bauer
- Added Factory.batchStore (Sammlung & # X3C ;? erstreckt UpdatableRecord & # X3C; & # x3e; & # x3e;) für die Bequemlichkeit
- Added DataType.convert (Object ...) und DataType.convert (Sammlung & # X3C; & # x3e;) für die Bequemlichkeit
- Added org.jooq.Name Factory.name (String), um Abfragekomponenten, die nach Settings.getRenderNameStyle () entgangen sind contruct
- Added Factory.fetch (String, QueryPart ...) und Factory.execute (String, QueryPart ...) und ähnliche Verfahren, um beliebige Abfragekomponenten im Klar SQL unterstützt
Was ist neu in Version 2.3.2:
- Fixes:
- Performance-Problem mit AbstractDataType.convert (Object). Vermeiden Sie Konvertierungen, wenn sie offensichtlich nicht mehr benötigte.
- Generieren einige sinnvolle Javadoc in die erzeugten [schema-name] Werksklassen.
- am Zeilenumbrüche erzeugt Javadoc gegebenenfalls
- Benutzerdefinierte Generator Strategie () mit Modus genannt == RECORD für Tabellen.
- Ineffiziente Klonen von Standardeinstellungen mit JAXB unmarshalling führt zu nicht zu vernachlässigenden Gesamtaufwand. Verwenden Sie stattdessen die Serialisierung (weniger als eine nützliche XJC Klon-Plugin).
- Caching SQLDIALECT in AbstractDatabase stark verbessert Codegenerierung Leistung.
- Übersetzungsfehler, wenn ein SQL Server gespeicherte Prozedur verfügt über einen Parameter mit dem Namen & quot; value & quot;.
- Bad Syntax für SELECT / * + * Hinweis / DISTINCT ... in Oracle.
- Splitting großer NICHT Bedingungen ist falsch. Die Teile sollten mit AND, OR nicht angeschlossen werden.
PrintImplements
Was ist neu in Version 2.2.0:.
- Unterstützung für die CUBRID Datenbank
Was ist neu in Version 2.1.0:
- Die Möglichkeit, jOOQ mit einem benutzerdefinierten Typzuordnung .
- Es gibt eine Menge von neuen Laufzeit-Konfigurationsoptionen, um die SQL-Stil von SQL jOOQ gemacht steuern.
- Die Handhabung von NULL hat sich für die Verwendung jOOQ als SQL-Builder-Bibliothek (zB zusammen mit Feder für Ausführung) NULL wird nicht mehr inline verbessert worden, aber als eine Variable gebunden.
- jOOQ unterstützt jetzt Simulation des relationalen Divisionsoperation über eine intuitive Syntax.
Was ist neu in Version 2.0.5:
- Ausführen Zuhörer und SQL Tracing Unterstützung. jOOQ ermöglicht es Ihnen, Ihre eigenen Zuhörer in jOOQ die Abfrage-Ausführungsmaschine Haken an der alle Arten von Veranstaltungen informiert werden
- Die bestehenden SchemaMapping Funktionen. Sie sind nun Teil der Laufzeitkonfiguration
- Statement Einstellungen. Bestimmen Sie, ob ein Werk sollte java.sql.PreparedStatements (mit Bind-Variablen) oder statische java.sql.Statements mit Inline-Variablen durchführen.
Was ist neu in der Version 2.0.0:.
- Die API wurde immer statisch
- Standardmäßig wird jOOQ-codegen erzeugen nun ein & quot; dynamische & quot; Metamodell im Gegensatz zu den vorhandenen statischen ein.
- Ausnahmen sind nicht mehr überprüft.
- Fensterfunktionen werden nun aus ihnen zugrunde liegenden Aggregatfunktionen wie in SQL aufgebaut.
Anforderungen :
- Java 1.6 oder höher
Kommentare nicht gefunden