The document discusses the challenges of integrating SQL and Java applications. It covers traditional approaches like JDBC and EJB that require developers to handle low-level SQL details manually. This can lead to error-prone and inefficient code. The document proposes an alternative approach called jOOQ that aims to simplify SQL usage from Java. It provides examples of how jOOQ can be used to avoid complexities of other approaches and more directly express SQL queries and results from Java code.
The slides from Lukas Eder's jOOQ presentation at Topconf 2013.
The slides talk about the history of the Java and SQL integration, starting with JDBC, EJB 2.0, Hibernate, JPA, culminating in the claim that SQL is evolving in an entirely different direction than what is covered by Enterprise Java. This is where jOOQ comes in. jOOQ is currently the only platform in the Java market aiming at making SQL a first-class citizen in Java.
This website depicts what every CTO / software architect should consider at the beginning of every new Java project:
http://www.hibernate-alternative.com
This version of the presentation on Slideshare is licensed under the terms of the CC-BY-SA license 3.0:
http://creativecommons.org/licenses/by-sa/3.0
The jOOQ name, the jOOQ logo and the picture with the harbour worker are trademarks by Data Geekery GmbH. Please contact us if you want to use our trademarks in a derived presentation of yours.
contact@datageekery.com
Get Back in Control of Your SQL with jOOQ at #Java2DaysLukas Eder
Get Back in Control of Your SQL with jOOQ, at #Java2Days.
SQL is a powerful and highly expressive language for queries against relational databases. SQL is established, standardised and hardly challenged by alternative querying languages. Nonetheless, in the Java ecosystem, there had been few relevant steps forward since JDBC to better integrate SQL into Java. All attention was given to object-relational mapping and language abstractions on a higher level, such as OQL, HQL, JPQL, CriteriaQuery. In the mean time, these abstractions have become almost as complex as SQL itself, regardless of the headaches they're giving to DBAs who can no longer patch the generated SQL.
jOOQ is a dual-licensed Open Source product filling this gap. It implements SQL itself as an internal domain-specific language in Java, allowing for the typesafe construction and execution of SQL statements of arbitrary complexity. This includes nested selects, derived tables, joins, semi-joins, anti-joins, self-joins, aliasing, as well as many vendor-specific extensions such as stored procedures, arrays, user-defined types, recursive SQL, grouping sets, pivot tables, window functions and many other OLAP features. jOOQ also includes a source code generator allowing you to compile queries in modern IDEs such as Eclipse very efficiently.
jOOQ is a good choice in a Java application where SQL and the specific relational database are important. It is an alternative when JPA / Hibernate abstract too much, JDBC too little. It shows, how a modern domain-specific language can greatly increase developer productivity, internalising SQL into Java.
The vJUG talk about jOOQ: Get Back in Control of Your SQLLukas Eder
jOOQ: Get Back in Control of Your SQL
SQL is a powerful and highly expressive language for queries against relational databases. SQL is established, standardised and hardly challenged by alternative querying languages. Nonetheless, in the Java ecosystem, there had been few relevant steps forward since JDBC to better integrate SQL into Java. All attention was given to object-relational mapping and language abstractions on a higher level, such as OQL, HQL, JPQL, CriteriaQuery. In the meantime, these abstractions have become almost as complex as SQL itself, regardless of the headaches they're giving to DBAs who can no longer patch the generated SQL.
jOOQ is a dual-licensed Open Source product filling this gap. It implements SQL itself as an internal domain-specific language in Java, allowing for the typesafe construction and execution of SQL statements of arbitrary complexity. This includes nested selects, derived tables, joins, semi-joins, anti-joins, self-joins, aliasing, as well as many vendor-specific extensions such as stored procedures, arrays, user-defined types, recursive SQL, grouping sets, pivot tables, window functions and many other OLAP features. jOOQ also includes a source code generator allowing you to compile queries in modern IDEs such as Eclipse very efficiently.
jOOQ is a good choice in a Java application where SQL and the specific relational database are important. It is an alternative when JPA / Hibernate abstract too much, JDBC too little. It shows, how a modern domain-specific language can greatly increase developer productivity, internalising SQL into Java.
The document discusses the challenges of integrating SQL and Java applications. It covers traditional approaches like JDBC and EJB that require developers to handle low-level SQL details manually. This can lead to error-prone and inefficient code. The document proposes an alternative approach called jOOQ that aims to simplify SQL usage from Java. It provides examples of how jOOQ can be used to avoid complexities of other approaches and more directly express SQL queries and results from Java code.
The slides from Lukas Eder's jOOQ presentation at Topconf 2013.
The slides talk about the history of the Java and SQL integration, starting with JDBC, EJB 2.0, Hibernate, JPA, culminating in the claim that SQL is evolving in an entirely different direction than what is covered by Enterprise Java. This is where jOOQ comes in. jOOQ is currently the only platform in the Java market aiming at making SQL a first-class citizen in Java.
This website depicts what every CTO / software architect should consider at the beginning of every new Java project:
http://www.hibernate-alternative.com
This version of the presentation on Slideshare is licensed under the terms of the CC-BY-SA license 3.0:
http://creativecommons.org/licenses/by-sa/3.0
The jOOQ name, the jOOQ logo and the picture with the harbour worker are trademarks by Data Geekery GmbH. Please contact us if you want to use our trademarks in a derived presentation of yours.
contact@datageekery.com
Get Back in Control of Your SQL with jOOQ at #Java2DaysLukas Eder
Get Back in Control of Your SQL with jOOQ, at #Java2Days.
SQL is a powerful and highly expressive language for queries against relational databases. SQL is established, standardised and hardly challenged by alternative querying languages. Nonetheless, in the Java ecosystem, there had been few relevant steps forward since JDBC to better integrate SQL into Java. All attention was given to object-relational mapping and language abstractions on a higher level, such as OQL, HQL, JPQL, CriteriaQuery. In the mean time, these abstractions have become almost as complex as SQL itself, regardless of the headaches they're giving to DBAs who can no longer patch the generated SQL.
jOOQ is a dual-licensed Open Source product filling this gap. It implements SQL itself as an internal domain-specific language in Java, allowing for the typesafe construction and execution of SQL statements of arbitrary complexity. This includes nested selects, derived tables, joins, semi-joins, anti-joins, self-joins, aliasing, as well as many vendor-specific extensions such as stored procedures, arrays, user-defined types, recursive SQL, grouping sets, pivot tables, window functions and many other OLAP features. jOOQ also includes a source code generator allowing you to compile queries in modern IDEs such as Eclipse very efficiently.
jOOQ is a good choice in a Java application where SQL and the specific relational database are important. It is an alternative when JPA / Hibernate abstract too much, JDBC too little. It shows, how a modern domain-specific language can greatly increase developer productivity, internalising SQL into Java.
The vJUG talk about jOOQ: Get Back in Control of Your SQLLukas Eder
jOOQ: Get Back in Control of Your SQL
SQL is a powerful and highly expressive language for queries against relational databases. SQL is established, standardised and hardly challenged by alternative querying languages. Nonetheless, in the Java ecosystem, there had been few relevant steps forward since JDBC to better integrate SQL into Java. All attention was given to object-relational mapping and language abstractions on a higher level, such as OQL, HQL, JPQL, CriteriaQuery. In the meantime, these abstractions have become almost as complex as SQL itself, regardless of the headaches they're giving to DBAs who can no longer patch the generated SQL.
jOOQ is a dual-licensed Open Source product filling this gap. It implements SQL itself as an internal domain-specific language in Java, allowing for the typesafe construction and execution of SQL statements of arbitrary complexity. This includes nested selects, derived tables, joins, semi-joins, anti-joins, self-joins, aliasing, as well as many vendor-specific extensions such as stored procedures, arrays, user-defined types, recursive SQL, grouping sets, pivot tables, window functions and many other OLAP features. jOOQ also includes a source code generator allowing you to compile queries in modern IDEs such as Eclipse very efficiently.
jOOQ is a good choice in a Java application where SQL and the specific relational database are important. It is an alternative when JPA / Hibernate abstract too much, JDBC too little. It shows, how a modern domain-specific language can greatly increase developer productivity, internalising SQL into Java.
This document appears to be an English language exam containing reading comprehension and language usage questions. It includes two passages and questions about situational dialogs, error identification, and completing sentences at both the sentence and paragraph level. The document tests examinees' understanding of grammar, vocabulary, and ability to infer missing information in short texts.
This document appears to be an English language exam containing reading comprehension and language usage questions. It includes two passages and questions about situational dialogs, error identification, and sentence and paragraph completion. The document tests examinees' understanding of grammar, vocabulary, and ability to infer meaning in various contexts. It aims to evaluate English proficiency at an advanced level.
This document appears to be an English language exam containing reading comprehension and language usage questions. It includes two passages and questions about situational dialogs, error identification, and completing sentences at both the sentence and paragraph level. The document tests examinees' understanding of grammar, vocabulary, and ability to infer missing information in short texts.
This document appears to be an English language exam containing reading comprehension and language usage questions. It includes two passages and questions about situational dialogs, error identification, and sentence and paragraph completion. The document tests examinees' understanding of grammar, vocabulary, and ability to infer meaning in various contexts. It aims to evaluate English proficiency at an advanced level.