Den kombinerar aktiva register, lagrade procedurer, avancerade datatyper, komplexa SQL, typesafety, källkod generation och Java i en flytande, intuitiv DSL.
jOOQ genererar en enkel Java representation av databasschema.
För varje tabell, vy, lagrad procedur, enum, är UDT en klass.
jOOQ implementerar en enkel att använda aktiva rekord mönster. Det är inte en OR-mapper, men ger en 1: 1 mappning mellan tabeller / vyer och klasser. Mellan kolumner och medlemmar.
Det möjliggör också för att skriva kompilering typsäker att fråga med hjälp av dess inbyggda DSL.
jOOQ stöder alla vanliga SQL-språket funktioner inklusive mer komplexa förbundets, kapslade väljer, går, aliasing
jOOQ tillåter utvecklare att använda leverantörsspecifika tillägg såsom lagrade procedurer, UDT: s Array-talet och många fler
Egenskaper .
- Allmänna egenskaper:
- Objektorienterad SQL modellering
- SQL kodgenerering
- OR-Mapping
- typsäker SQL
- Lagrad procedur och UDT stöd
- stöds databaser:
- MySQL 5.1.41 och 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 med inofficiella JDBC drivrutin v056
- Derby 10.7
- MSSQL
- Sybase
- Framtida stöd för:
- Ingres
- Firebird
Vad är nytt i den här versionen:
- Factory har delats upp i DSL (statisk QueryPart konstruktion) och DSLContext (Query utförande, & quot; fäst & quot; QueryPart konstruktion). Detta förbättrar avsevärt den totala DSL upplevelse samtidigt som mer finkornigt Executor livscykel kontroll.
- En ConnectionProvider har införts som en abstraktion av anslutnings livscykel JDBC. Fortfarande stödjas fristående Connection och poolade Datasource lägen, men kan du nu injicera din egen ConnectionProvider för mer kontroll.
- En hel del prestandaförbättringar har genomförts inom jOOQ API ta bort det mesta av overhead som orsakas av jOOQ när hämtning av data från JDBC
- En JDBC Mock API har lagts för att hjälpa dig att skapa enkla enhetstester för din applikation byggd ovanpå jOOQ.
- En VÄRDEN () -konstruktorn stöds nu, och härrör kolumnlistor till alias tabeller och kolumner på en gång.
- datatyp API har blivit mycket enklare. Detta gjorde det möjligt för införandet av runtime precision, skala, och längdinformation.
- CRUD har förbättrats genom många fler CRUD batchåtgärder, explicit INSERT och UPDATE (förutom att lagra ()), och explicit hantering av jOOQ interna ändrade flaggor.
Vad är nytt i version 2.6.1:
- Bad Postgres array serialisering när & quot; eller & # x5c; tecken ingår i ett String []
- Ineffektiv implementationer av AbstractDataType.equals () och hashkod ()
- Förbättra AbstractField.hashCode () och AbstractTable.hashCode () och liknande, eftersom dessa två kallas ofta li>
- Ineffektiva uppmaning till String.split () i StringUtils.toCamelCase () leder till icke försumbar prestanda ovrerhead i POJO omvandling samtal
- Bad SQL återges när man kombinerar ORDER BY [något-funktion] med GRÄNS .. OFFSET i DB2, SQL Server
- Bad SQL återges för OVER (ORDER BY [vissa funktioner]) för SQL Server och Sybase
- Gäng säkerhetsfråga i org.jooq.impl.FieldList
- Bad hänvisning till org.jooq.debug. [Impl] .DebugListener i handboken
- Bad kod genereras när samma bord namn finns i flera scheman i SQL Server
Vad är nytt i version 2.5.0:
- Ta bort gjutning av binda värden i Ingres
- Simulera RPAD och LpAd i SQLite
- Lägg till stöd för Oracle Textfunktioner
- Lägg till möjligheten att generera oföränderliga POJO: s
- Support & quot; optimistisk låsning & quot; i UpdatableRecord.store () och radera ()
- Generera fetchBy [kolumn] metoder i genererade DAO klasser
- Lägg till lite Javadoc att dokumentera skillnaden mellan att använda en fabrik med en anslutning eller med en datakälla
- Lägg javax.validation API full levereras
- Lägg till Factory.connectByRoot (Field & # x3c;? & # X3e;) för att stödja Oracle CONNECT_BY_ROOT pseudo kolumn
- Lägg till Factory.condition (String, QueryPart ...) liknar Factory.field (String, QueryPart ...)
- Lägg till stöd för Oracles ORDER SYSKON BY, i kombination med CONNECT BY
- Lägg saknas konstruktörer tar Datasource till dialektspecifika fabriker
- Skapa saknas konstruktörer tar datakälla i schemaspecifika fabriker
- Simulera REPEAT () i SQLite
Vad är nytt i version 2.4.0:
- Lade Result.intoResultSet () för att slå in ett resultat i en JDBC ResultSet
- Undvik JDBC fly syntax för datum / tid literals
- Skapa DAO klasser och gränssnitt för POJO: s
- Dokument livscykel en ExecuteListener i Javadoc
- Utökat stöd för Postgres & quot; alla & quot; datatyp (med citattecken!). Detta verkar för att kart väl till java.lang.Object
- supportärende okänsliga schemanamn i kodgenerering
- Inkom några WARN-nivå loggning när källan-kodgeneratorn inte genererar några artefakter
- Lade Field.likeIgnoreCase () för att stödja Postgres "ilike operatör
- Lade Factory (datakälla) och liknande konstruktörer
- Lade Factory.batchStore (Inkasso & # x3c ;? sträcker UpdatableRecord & # x3c;? & # X3e; & # x3e;) för att underlätta li>
- Lade DataType.convert (Objekt ...) och DataType.convert (Inkasso & # x3c;? & # X3e;) för att underlätta li>
- Lade org.jooq.Name Factory.name (String) att Områdena QueryParts som rymt enligt Settings.getRenderNameStyle ()
- Lade Factory.fetch (String, QueryPart ...) och Factory.execute (String, QueryPart ...) och liknande metoder för att stödja godtyckliga QueryParts i vanlig SQL
Vad är nytt i version 2.3.2:
- Fixar:
- prestandaproblem med AbstractDataType.convert (Object). Undvik omvandlingar när de är uppenbarligen onödiga.
- Generera några menings Javadoc i de genererade [schemanamn] Factory klasser.
- Inkom radbrytningar till genererade Javadoc förekommande fall
- Anpassad generator strategins printImplements () anropas med Mode == RECORD för tabeller.
- Ineffektiv kloning av standardinställningarna via JAXB unmarshalling leder till icke försumbar totala omkostnader. Använd serialisering istället (mindre än en användbar XJC klon plugin).
- Caching SQLDialect i AbstractDatabase kraftigt förbättrar kodgenerering prestanda.
- Sammanställning fel när en SQL Server lagrad procedur har en parameter med namnet & quot; värde & quot;.
- Bad syntax för SELECT / * + tips * / DISTINCT ... i Oracle.
- Uppdelning av stora INTE IN villkor är fel. Delarna ska anslutas med AND, inte med ELLER.
Vad är nytt i version 2.2.0:.
- Utökat stöd för CUBRID databasen
Vad är nytt i version 2.1.0:
- Möjligheten att ge jOOQ med en anpassad typavbildning .
- Det finns en hel del nya runtime konfigurationsalternativ för att styra SQL stil SQL utförs av jOOQ.
- Hanteringen av NULL har förbättrats till förmån för att använda jOOQ som en SQL-builder bibliotek (t.ex. tillsammans med Spring för utförande) NULL inte längre infogade, men bundet som en variabel.
- jOOQ stöder nu simulering av relations divisionen drift med en intuitiv syntax.
Vad är nytt i version 2.0.5:
- Utför lyssnare och SQL spåra stöd. jOOQ låter dig ansluta dina egna lyssnare i jOOQ utförande fråge motorn underrättas om alla typer av händelser
- De befintliga SchemaMapping funktioner. De är nu en del av runtime-konfiguration
- StatementType inställningar. Ange om en fabrik bör utföra java.sql.PreparedStatements (med binda variabler) eller statiska java.sql.Statements med infogade variabler.
Vad är nytt i version 2.0.0:.
- API blev mer statisk
- Som standard kommer jooq-codegen nu generera en & quot; dynamisk & quot; meta modell till skillnad från den existerande statiska en.
- Undantag inte längre kontrolleras.
- Fönster funktioner är nu tillverkade av sina underliggande mängdfunktioner precis som i SQL.
Krav :
- Java 1.6 eller högre
Kommentarer hittades inte