To łączy w sobie aktywne rekordy, procedury składowane, zaawansowane typy danych, SQL, typesafety skomplikowany, generacji kodu źródłowego i Java w płynny, intuicyjny DSL.
jOOQ generuje prostą reprezentację Java schematu bazy danych.
Dla każdej tabeli, widoku, procedury składowanej, wyliczenia, UDT jest klasa.
jOOQ implementuje łatwy w użyciu Active Record wzór. To NIE jest OR-mapper, ale zapewnia mapowanie 1: 1 pomiędzy tabelami / poglądów i klas. Między kolumnami i członków.
Pozwala on również na piśmie kompilacji typesafe zapytań za pomocą jego wbudowaną DSL.
jOOQ obsługuje wszystkie standardowe funkcje języka SQL tym bardziej złożonych Unii, zagnieżdżonych wybiera, JOIN, aliasing
jOOQ pozwala programistom korzystać z rozszerzeń dostawcy sprzętu, takich jak procedury składowane, UDT, w Array i wiele więcej
Opis .
- Cechy ogólne:
- Modelowanie obiektowe SQL
- generowanie kodu SQL
- OR-Mapowanie
- Typesafe SQL
- Procedura składowana i UDT wsparcie
- Obsługiwane bazy danych:
- MySQL 1.5.41 i 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 z nieoficjalne v056 sterownika JDBC
- Derby 10.7
- MSSQL
- Sybase
- Przyszłość wsparcie dla:
- Ingres
- Firebird
Co nowego w tym wydaniu:
- Fabryka została podzielona na DSL (statyczne konstrukcji QueryPart) i DSLContext (wykonanie zapytania, & quot; dołączony & quot; Budowa QueryPart). To znacznie poprawia ogólną DSL, pozwalając jednocześnie na większą kontrolę Wykonawca cyklem życia drobnoziarnistej.
- ConnectionProvider został wprowadzony jako abstrakcji połączenia cyklu JDBC. Samodzielny i połączono tryby połączenia DataSource są nadal obsługiwane, ale można teraz wprowadzić własną ConnectionProvider większą kontrolę.
- Wiele ulepszeń wydajności zostały wdrożone w API jOOQ usuwając większość narzutu spowodowanego jOOQ podczas pobierania danych z JDBC
- JDBC Mock API została dodana, aby umożliwić tworzenie prostych testów jednostkowych dla aplikacji zbudowanej na szczycie jOOQ.
- Wartości A () Konstruktor jest teraz obsługiwane i pochodzi listy aliasów kolumn do tabel i kolumn w jednym kroku.
- Typ danych API została znacznie uproszczona. Pozwoliło to na wprowadzenie precyzyjnych wykonawczego, skali i długości.
- CRUD został poprawiony przez wiele więcej operacji CRUD wsadowych, INSERT i UPDATE wyraźne (w uzupełnieniu do przechowywania ()) i wyraźnej obsługi wewnętrznych zmienionych flagi jOOQ w.
Co nowego w wersji 2.6.1:
- Bad serializacji, gdy tablica PostgreSQL & quot; lub & # x5c; znaki są zawarte w String []
- Nieskuteczne implementacje AbstractDataType.equals () i hashCode ()
- Pomóż AbstractField.hashCode () i AbstractTable.hashCode () i podobne, jak te dwa są nazywane często
- nieracjonalne wezwanie do String.split w StringUtils.toCamelCase () () prowadzi do niepomijalny wydajności ovrerhead transformacji POJO nazywa
- Bad SQL renderowane podczas łączenia niektórych ORDER BY [funkcją] z LIMIT .. OFFSET w DB2, SQL Server
- Bad SQL wygenerowana przez ponad (ORDER BY [jakiegoś]) funkcją SQL Server i Sybase
- kwestia bezpieczeństwa wątku w org.jooq.impl.FieldList
- Bad odniesienie do org.jooq.debug. [Impl] .DebugListener ręcznego
- Bad kod generowany, gdy sama nazwa tabeli istnieje w wielu schematów w SQL Server
Co nowego w wersji 2.5.0:
- Usuń oddania wartości wiążą się Ingres
- Symulacja RPAD i LpAd w SQLite
- Dodaj wsparcie dla funkcji Oracle Text
- Dodaj opcję generowania niezmienne POJOs
- Pomoc & quot; optymistyczne zamek & quot; w UpdatableRecord.store () i delete ()
- Generowanie metody fetchBy [NazwaKolumny] DAO w wygenerowanych klas
- Dodaj Javadoc udokumentować jakąś różnicę pomiędzy użyciem Factory z połączeniami lub z źródła danych
- Dodaj javax.validation do pełnej partii materiałów API
- Dodaj Factory.connectByRoot (Field & # x3c; * & # x3e;) wspieranie kolumny pseudo Oracle CONNECT_BY_ROOT
- Dodaj Factory.condition (String, QueryPart ...) podobne do Factory.field (String, QueryPart ...)
- Dodaj wsparcie dla Oracle ZAMÓW rodzeństwa klauzuli, w połączeniu z CONNECT BY
- Dodaj brakuje konstruktorów biorących DataSource fabryk dialekt-specyficznych
- Generowanie brakuje konstruktorów biorących DataSource w fabrykach specyficznego schematu
- Symulacja REPEAT () w SQLite
Co nowego w wersji 2.4.0:
- Dodane Result.intoResultSet (), by zakończyć wyniku w JDBC ResultSet
- Unikaj składni ucieczki JDBC dla literałów daty / godziny
- Generowanie klas DAO i interfejsy dla POJOs
- Dokument cyklem o ExecuteListener w Javadoc
- Dodano wsparcie dla PostgreSQL & quot; każda & quot; typ danych (z cytatami!). Wydaje się to również do java.lang.Object map
- rozróżnia wielkość liter nazwy schematów w generacji kodu
- Dodane niektóre WARN poziomu rejestrowania gdy generator kodu źródłowego nie generuje żadnych artefaktów,
- Dodane Field.likeIgnoreCase () w celu wsparcia operatora iLike postgres '
- Dodane Factory (źródła danych) i podobne konstruktorzy
- Dodane Factory.batchStore (Collection & # x3c ;? rozciąga UpdatableRecord & # x3c; * & # x3e; & #;) dla x3e wygody
- Dodane DataType.convert (Object ...) i DataType.convert (Collection & # x3c;? & # X3e;) dla wygody
- Dodane org.jooq.Name Factory.name (String), aby contruct QueryParts które uciekły według Settings.getRenderNameStyle ()
- Dodane Factory.fetch (String, QueryPart ...) i Factory.execute (String, QueryPart ...) i podobne metody do obsługi dowolnych QueryParts w czystym SQL
Co nowego w wersji 2.3.2:
- Poprawki:
- problem z wydajnością AbstractDataType.convert (Object). Unikać konwersji, gdy są oczywiście niepotrzebne.
- Generowanie jakieś sensowne Javadoc do generowanych [nazwa-schematu] klas fabrycznych.
- Dodane podziały wiersza, aby w razie potrzeby generowany Javadoc
- Niestandardowe strategii generatora () jest wywoływana z trybu == RECORD dla tabel.
- nieracjonalne klonowanie ustawień domyślnych za pomocą JAXB unmarshalling prowadzi do niepomijalny całości kosztów ogólnych. Użyj serializacji zamiast (krótka użytecznej wtyczki klonu XJC).
- W AbstractDatabase buforowanie SQLDialect dużym stopniu poprawia wydajność generowania kodu.
- Błąd kompilacji, gdy procedura składowana SQL Server ma parametr o nazwie & quot; wartość & quot;.
- Bad składni SELECT / * + podpowiedzi * / DISTINCT ... w Oracle.
- Podział duże NIE W warunkach jest nie tak. Części powinny być związane z I, a nie z OR.
PrintImplements
Co nowego w wersji 2.2.0:.
- Dodano wsparcie dla bazy danych CUBRID
Co nowego w wersji 2.1.0:
- Możliwość świadczenia jOOQ z mapowania typu niestandardowego .
- Istnieje wiele nowych opcji konfiguracyjnych wykonawcze do kontroli stylu SQL SQL świadczonych przez jOOQ.
- obsługa NULL został poprawiony na rzecz korzystania z jOOQ jako biblioteka SQL budowniczy (np wraz z wiosną do realizacji) NULL nie jest już włączonych, ale związany jako zmienna.
- jOOQ obsługuje symulację operacji relacyjnych za pomocą intuicyjnego podziału składnię.
Co nowego w wersji 2.0.5:
- Execute słuchacza i SQL śledzenia wsparcia. jOOQ pozwala na podłączenie własnych słuchaczy w silniku wykonania kwerend jOOQ do otrzymywania informacji na wszelkiego rodzaju imprezach,
- Istniejące funkcje SchemaMapping. Obecnie są one częścią konfiguracji wykonawczego
- Ustawienia StatementType. Określ, czy powinien wykonać java.sql.PreparedStatements fabryczne (z) lub powiązań zmiennych statycznych ze zmiennymi java.sql.Statements wstawiane.
Co nowego w wersji 2.0.0:.
- API stał się bardziej statyczna
- Domyślnie jooq-Codegen będzie teraz generować & quot; dynamiczna & quot; meta modelu w przeciwieństwie do istniejącego statycznego.
- wyjątkami nie są już sprawdzone.
- Funkcje okienne są teraz zbudowane z ich podstawowych funkcji agregujących, jak w SQL.
Wymagania :
- Java w wersji 1.6 lub wyższej,
Komentarze nie znaleziono