มันรวมบันทึกการใช้งานการจัดเก็บชนิดข้อมูลขั้นสูงที่ซับซ้อน SQL, typesafety แหล่งที่มาการสร้างรหัสและ Java ได้อย่างคล่องแคล่วในการใช้งานง่าย DSL
jOOQ สร้างตัวแทน Java ที่เรียบง่ายของคีมาฐานข้อมูล
สำหรับตารางทุกมุมมองของการจัดเก็บ enum, UDT เป็นชั้น
jOOQ ดำเนินการที่ง่ายต่อการใช้งานรูปแบบการบันทึกการใช้งาน มันไม่ได้เป็นหรือ-mapper แต่ให้ 1: 1 การทำแผนที่ระหว่างตาราง / มุมมองและการเรียน ระหว่างคอลัมน์และสมาชิก
นอกจากนี้ยังช่วยในการเขียนรวบรวมเวลา typesafe สอบถามที่ใช้ในตัวของมัน DSL
jOOQ สนับสนุนคุณสมบัติทั้งหมดภาษา SQL มาตรฐานรวมทั้งยูเนี่ยนที่ซับซ้อนมากขึ้นของการเลือกที่ซ้อนกันร่วม aliasing
jOOQ ช่วยให้นักพัฒนาใช้นามสกุลของผู้ขายที่เฉพาะเจาะจงเช่นวิธีการจัดเก็บ, UDT ของ ARRAY และอื่น ๆ อีกมากมาย
คุณสมบัติ .
- มีทั่วไป:
- Object Oriented SQL การสร้างแบบจำลอง
- รหัสรุ่น SQL
- OR-แมป
- Typesafe SQL
- การจัดเก็บและการสนับสนุน UDT
- ฐานข้อมูลที่รองรับ:
- MySQL 5.1.41 และ 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 พร้อมคนขับ inofficial JDBC v056
- ดาร์บี้ 10.7
- MSSQL
- Sybase
- การสนับสนุนในอนาคตสำหรับ:
- Ingres
- Firebird
มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:
- โรงงานได้รับการแบ่งออกเป็น DSL (ก่อสร้าง QueryPart คงที่) และ DSLContext (การดำเนินการแบบสอบถาม & quot; แนบ & quot; ก่อสร้าง QueryPart) นี้ช่วยเพิ่มประสบการณ์ DSL โดยรวมในขณะที่ช่วยให้การควบคุมมากขึ้นวงจรปฏิบัติการที่ละเอียด.
- ConnectionProvider ได้รับการแนะนำว่าเป็นนามธรรมของวงจรชีวิตของการเชื่อมต่อ JDBC การเชื่อมต่อแบบสแตนด์อโลนและรวบรวมแหล่งข้อมูลโหมดยังคงได้รับการสนับสนุน แต่ตอนนี้คุณสามารถฉีด ConnectionProvider ของคุณเองสำหรับการควบคุมมากขึ้น.
- จำนวนมากของการปรับปรุงประสิทธิภาพการทำงานที่ได้รับการดำเนินการภายใน jOOQ API ลบส่วนใหญ่ของค่าใช้จ่ายที่เกิดจากการ jOOQ เมื่อการเรียกข้อมูลจาก JDBC
- JDBC จำลอง API ได้รับการเพิ่มที่จะช่วยให้คุณสร้างการทดสอบหน่วยที่ง่ายสำหรับการใช้งานของคุณสร้างขึ้นบน jOOQ.
- VALUES () คอนสตรัคได้รับการสนับสนุนในขณะนี้และได้รับรายชื่อคอลัมน์ตารางนามแฝงและคอลัมน์ในหนึ่งไป.
- ชนิดข้อมูล API ได้ง่ายมาก นี้ได้รับอนุญาตสำหรับการแนะนำของความแม่นยำรันไทม์ขนาดและความยาวของข้อมูล.
- CRUD ได้รับการปรับปรุงการดำเนินงานผ่านหลายชุด CRUD มากขึ้นอย่างชัดเจน INSERT และ UPDATE (นอกเหนือจากการจัดเก็บ ()) และการจัดการที่ชัดเจนของ jOOQ ธงของการเปลี่ยนแปลงภายใน.
มีอะไรใหม่ ในรุ่น 2.6.1:
- Bad อนุกรมอาร์เรย์ Postgres เมื่อ & quot; หรือ & # x5c; ตัวละครที่มีอยู่ใน String []
- การใช้งานไม่มีประสิทธิภาพของ AbstractDataType.equals () และ hashCode ()
- ปรับปรุง AbstractField.hashCode () และ AbstractTable.hashCode () และคล้ายกันที่ทั้งสองจะเรียกว่าบ่อยมาก </ li>
- สายไม่มีประสิทธิภาพที่จะ String.split () ใน StringUtils.toCamelCase () นำไปสู่การปฏิบัติงานที่ไม่สำคัญในการเปลี่ยนแปลง ovrerhead POJO เรียก
- SQL Bad แสดงผลเมื่อรวมตามคำสั่ง [บางฟังก์ชั่น] ด้วย LIMIT .. OFFSET ใน DB2, SQL Server
- SQL สำหรับการแสดงผลที่ไม่ดีกว่า (ORDER BY [บางฟังก์ชั่น]) สำหรับ SQL Server และ Sybase
- ปัญหาความปลอดภัยในกระทู้ org.jooq.impl.FieldList
- การอ้างอิงที่ดีที่จะ org.jooq.debug. [Impl] .DebugListener ในคู่มือ
- รหัส Bad สร้างขึ้นเมื่อชื่อตารางเดียวกันที่มีอยู่ในหลายแบบแผนใน SQL Server
มีอะไรใหม่ ในรุ่น 2.5.0:
- ลบหล่อของค่าผูกใน Ingres
- จำลอง RPAD และ LPAD ใน SQLite
- เพิ่มการสนับสนุนสำหรับ Oracle ฟังก์ชั่นข้อความ
- เพิ่มตัวเลือกในการสร้าง POJOs เปลี่ยนรูป
- การสนับสนุน & quot; ล็อคในแง่ดี & quot; ใน UpdatableRecord.store () และลบ ()
- สร้าง fetchBy [ColumnName] วิธีการในการสร้างการเรียน DAO
- เพิ่ม Javadoc เอกสารบางอย่างที่แตกต่างระหว่างการใช้โรงงานที่มีการเชื่อมต่อกับแหล่งข้อมูลหรือ
- เพิ่ม javax.validation API เพื่อส่งมอบเต็ม
- เพิ่ม Factory.connectByRoot (สนาม & # x3c; & # x3e;) เพื่อสนับสนุนออราเคิล CONNECT_BY_ROOT คอลัมน์หลอก
- เพิ่ม Factory.condition (String, QueryPart ... ) คล้ายกับ Factory.field (String, QueryPart ... )
- เพิ่มการสนับสนุนสำหรับการสั่งซื้อพี่น้องของออราเคิลประโยคตามในการรวมกันกับเชื่อมต่อโดย
- เพิ่มการก่อสร้างแหล่งข้อมูลที่ขาดหายไปให้กับโรงงานภาษาเฉพาะ
- สร้างการก่อสร้างแหล่งข้อมูลที่ขาดหายไปในโรงงานเฉพาะคี
- จำลองซ้ำ () ใน SQLite
มีอะไรใหม่ ในรุ่น 2.4.0:
- เพิ่ม Result.intoResultSet () เพื่อห่อผล ใน JDBC ResultSet
- หลีกเลี่ยงการหลบหนีไวยากรณ์ JDBC สำหรับตัวอักษรวันที่ / เวลา
- สร้างการเรียน DAO และอินเตอร์เฟซสำหรับ POJOs
- เอกสารวงจรชีวิตของ ExecuteListener ใน Javadoc
- เพิ่มการสนับสนุนสำหรับ Postgres & quot; ใด ๆ ที่ & quot; ประเภทข้อมูล (ด้วยคำพูด!) นี้ดูเหมือนว่าจะ map ดีเพื่อ java.lang.Object
- การสนับสนุนชื่อคีกรณีตายในการสร้างรหัส
- เพิ่มบางอย่างเข้าสู่ระบบเตือนเมื่อระดับกำเนิดซอร์สโค้ดไม่ได้สร้างสิ่งประดิษฐ์ใด ๆ
- เพิ่ม Field.likeIgnoreCase () เพื่อสนับสนุนผู้ประกอบการ Postgres 'iLike
- เพิ่มโรงงาน (แหล่งข้อมูล) และการก่อสร้างที่คล้ายกัน
- เพิ่ม Factory.batchStore (เก็บ & # x3c ;? ขยาย UpdatableRecord & # x3c; & # x3e; & # x3e;) เพื่อความสะดวก
- เพิ่ม DataType.convert (Object ... ) และ DataType.convert (เก็บ & # x3c; & # x3e;) เพื่อความสะดวก
- เพิ่ม org.jooq.Name Factory.name (String) เพื่อ contruct QueryParts ที่หนีตาม Settings.getRenderNameStyle ()
- เพิ่ม Factory.fetch (String, QueryPart ... ) และ Factory.execute (String, QueryPart ... ) และวิธีการที่คล้ายกันที่จะสนับสนุน QueryParts โดยพลการใน SQL ธรรมดา
มีอะไรใหม่ ในรุ่น 2.3.2:
- แก้ไข:
- ปัญหาประสิทธิภาพด้วย AbstractDataType.convert (Object) หลีกเลี่ยงการแปลงเมื่อพวกเขากำลังที่ไม่จำเป็นอย่างเห็นได้ชัด.
- สร้างบางอย่างที่มีความหมายลงไปใน Javadoc ที่สร้าง [คีชื่อ] เรียนโรงงาน.
- แบ่งสายเพิ่มเข้ามาเพื่อสร้าง Javadoc ที่เหมาะสม
- printImplements กลยุทธ์ที่กำหนดเองของเครื่องกำเนิดไฟฟ้า () จะเรียกว่ามีโหมดบันทึก == สำหรับตาราง.
- โคลนไม่มีประสิทธิภาพของการตั้งค่าเริ่มต้นโดยใช้ unmarshalling JAXB นำไปสู่ค่าใช้จ่ายโดยรวมไม่น้อย ใช้อนุกรมแทน (สั้น ๆ ของปลั๊กอิน XJC ประโยชน์โคลน).
- แคช SQLDialect ใน AbstractDatabase หนักช่วยเพิ่มประสิทธิภาพการสร้างรหัส.
- ข้อผิดพลาดเมื่อรวบรวมการจัดเก็บข้อมูล SQL Server มีพารามิเตอร์ชื่อ & quot; ค่า & quot;.
- ไวยากรณ์ร้ายสำหรับ SELECT / * + * คำแนะนำ / แตกต่าง ... ใน Oracle.
- แยกขนาดใหญ่ไม่ได้อยู่ในเงื่อนไขที่เป็นธรรม ส่วนที่ควรได้รับการเชื่อมต่อกับและไม่ได้กับหรือ.
มีอะไรใหม่ ในรุ่น 2.2.0:.
- เพิ่มการสนับสนุนสำหรับฐานข้อมูล CUBRID
มีอะไรใหม่ ในรุ่น 2.1.0:
- เป็นไปได้ของการให้ jOOQ กับแผนที่ชนิดที่กำหนดเอง .
- มีจำนวนมากของตัวเลือกการกำหนดค่ารันไทม์ใหม่ในการควบคุมรูปแบบ SQL ของ SQL แสดงโดย jOOQ มี.
- การจัดการของโมฆะได้รับการปรับปรุงในความโปรดปรานของการใช้ jOOQ เป็นห้องสมุดสร้าง SQL (เช่นพร้อมกับฤดูใบไม้ผลิสำหรับการดำเนินการ) เป็นโมฆะ inlined ไม่มีอีกต่อไป แต่ที่ถูกผูกไว้เป็นตัวแปร.
- jOOQ ในขณะนี้สนับสนุนการจำลองของการดำเนินการส่วนสัมพันธ์โดยใช้ไวยากรณ์ที่ใช้งานง่าย.
มีอะไรใหม่ ในรุ่น 2.0.5:
- ดำเนินการฟังและการสนับสนุนการติดตาม SQL jOOQ ช่วยให้คุณสามารถที่จะขอฟังของคุณเองเป็นเครื่องมือดำเนินการแบบสอบถาม jOOQ ที่จะได้รับแจ้งจากทุกประเภทของเหตุการณ์ที่เกิดขึ้น
- คุณสมบัติ SchemaMapping ที่มีอยู่ ตอนนี้พวกเขาเป็นส่วนหนึ่งของการกำหนดค่ารันไทม์
- การตั้งค่า StatementType ระบุว่าควรดำเนินการโรงงาน java.sql.PreparedStatements (กับตัวแปรผูก) หรือ java.sql.Statements คงที่กับตัวแปร inlined.
มีอะไรใหม่ ในรุ่น 2.0.0:.
- API กลายเป็นแบบคงที่มากขึ้น
- โดยค่าเริ่มต้น jooq-โค๊ดเจนในขณะนี้จะสร้าง & quot; ไดนามิก & quot; รูปแบบเมตาเมื่อเทียบกับหนึ่งคงมีอยู่.
- ข้อยกเว้นมีการตรวจสอบไม่ได้.
- ฟังก์ชั่นหน้าต่างถูกสร้างขึ้นในขณะนี้จากฟังก์ชั่นของพวกเขารวมพื้นฐานเช่นเดียวกับใน SQL.
ต้องการ
- Java 1.6 หรือสูงกว่า
ความคิดเห็นที่ไม่พบ