SlideShare a Scribd company logo
INTRODUCTION TO JOOQ
Kostadin Golev
CTO @ Getti Loyalty
tweeting@kotseto
kgolev.com
To ORM Or Not To ORM?
JOOQ USERS?
STATE OF JAVA PERSISTENCE (2015 SURVEY)
WHY USE X?
#1 - JPA / HIBERNATE - THE GOOD PARTS
➤ JAVA, не SQL
➤ Objects!
➤ Swap your database
➤ You do not have to write a lot of code
➤ Performance
#1 - JPA / HIBERNATE - THE BAD PARTS
➤ What is is this JOIN, UNION?
➤ SQL set != Objects
➤ Database specific features missing
➤ Complex SQL features - hard to use or missing
➤ Performance
THE ACCEPTED ALTERNATIVE - JDBC
➤ SQL
➤ Errors at runtime
➤ Map to objects - too much work
➤ Java is verbose enough as it is
➤ SQL manipulation = String manipulation
JAVA OBJECT ORIENTED QUERYING
➤ SQL
➤ Type-safe SQL
➤ Checks differences between db
and Java code on every build
➤ Makes mapping to Objects
easier
➤ Free for Open-source
databases
➤ Mature
DEMO
HOW EASY IS TO SHOOT YOURSELF WITH IT?
➤ Comparable with JDBC performance
➤ With rare exceptions - thread-safe
➤ Use fetch lazy when fetching big sets of records /
slow connection
NOW WHAT?
➤ JPA Projects - JPA for CRUD, jOOQ where SQL is
needed
➤ JDBC Projects - full migration possible
➤ All - Migrate what you want. Type-safe SQL is a
good first step!
➤ You do not have to use only one framework!
RESOURCES
➤ jooq.org
➤ http://kgolev.com/orm-not-orm-introduction-jooq/
➤ https://github.com/kotse/jooq-starter
THANK YOU!

More Related Content

PDF
An Introduction to jOOQ
PDF
Reactive Streams and the Wide World of Groovy
KEY
Lessons from Branch's launch
PDF
RubyConf Taiwan 2016 - Large scale Rails applications
PDF
Gemboys
ZIP
Deployment in Drupal 8
KEY
Core conv
PDF
RubyConf China 2015 - Rails off assets pipeline
An Introduction to jOOQ
Reactive Streams and the Wide World of Groovy
Lessons from Branch's launch
RubyConf Taiwan 2016 - Large scale Rails applications
Gemboys
Deployment in Drupal 8
Core conv
RubyConf China 2015 - Rails off assets pipeline

What's hot (20)

PPTX
Talk about java
PDF
Challenges of moving a java team to scala
PPTX
Spot the difference - automating visual regression testing
PPTX
Sql server baselines
PDF
Reactive All the Way Down the Stack
PPTX
Akka dotnet presentation ndc 2017
PDF
The Power of RxJS in Nativescript + Angular
PPTX
Day 8 - jRuby
PPTX
Day 1 - Intro to Ruby
PDF
Greach 2018: Surviving Microservices
PDF
Naked and afraid Offline Mobile
PDF
Promoting Agility with Running Tested Features - Lightening Talk
PPTX
Production code without tests
PDF
Migrate PHP E-Commerce Site to Go
PDF
Concurrency, Without the Pain: An Intro to Akka.NET @ Bay.NET
PPTX
Building Apis in Scala with Playframework2
PPTX
Day 9 - PostgreSQL Application Architecture
PPTX
Day 2 - Intro to Rails
KEY
Becoming a more productive Rails Developer
PDF
Funtional Ruby - Mikhail Bortnyk
Talk about java
Challenges of moving a java team to scala
Spot the difference - automating visual regression testing
Sql server baselines
Reactive All the Way Down the Stack
Akka dotnet presentation ndc 2017
The Power of RxJS in Nativescript + Angular
Day 8 - jRuby
Day 1 - Intro to Ruby
Greach 2018: Surviving Microservices
Naked and afraid Offline Mobile
Promoting Agility with Running Tested Features - Lightening Talk
Production code without tests
Migrate PHP E-Commerce Site to Go
Concurrency, Without the Pain: An Intro to Akka.NET @ Bay.NET
Building Apis in Scala with Playframework2
Day 9 - PostgreSQL Application Architecture
Day 2 - Intro to Rails
Becoming a more productive Rails Developer
Funtional Ruby - Mikhail Bortnyk
Ad

Similar to Introduction to jOOQ (20)

PDF
Jooq java object oriented querying
PDF
Why Your Developers Need jOOQ
PDF
Introduction to jOOQ
PDF
Joker'15 Java straitjackets for MongoDB
PDF
Building Realtime Access to Data Apps with jOOQ
PDF
jOOQ at Topconf 2013
PPT
Hibernate
PPTX
A peek into the future
PPT
Dao benchmark
PDF
Introduction to JPA and Hibernate including examples
PDF
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...
PPTX
The rise of json in rdbms land jab17
PDF
The Awesome jOOQ JavaOne Talk
PDF
Internals of Presto Service
PDF
Get Back in Control of Your SQL - #33rdDegree
PPTX
Oracle OpenWo2014 review part 03 three_paa_s_database
PPTX
java sql hibernate and springsDAKSHAYINI 3BR19EE026.pptx
PPTX
Big Data And No SQL
PPTX
Oracle Database 12c - Features for Big Data
PPTX
Module-3 for career and JFSD ppt for study.pptx
Jooq java object oriented querying
Why Your Developers Need jOOQ
Introduction to jOOQ
Joker'15 Java straitjackets for MongoDB
Building Realtime Access to Data Apps with jOOQ
jOOQ at Topconf 2013
Hibernate
A peek into the future
Dao benchmark
Introduction to JPA and Hibernate including examples
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...
The rise of json in rdbms land jab17
The Awesome jOOQ JavaOne Talk
Internals of Presto Service
Get Back in Control of Your SQL - #33rdDegree
Oracle OpenWo2014 review part 03 three_paa_s_database
java sql hibernate and springsDAKSHAYINI 3BR19EE026.pptx
Big Data And No SQL
Oracle Database 12c - Features for Big Data
Module-3 for career and JFSD ppt for study.pptx
Ad

More from Kostadin Golev (6)

PDF
Test code that will not slow you down
PDF
PDF
Introduction to Jooq
PDF
Writing SOLID Code
PDF
JUnit 5 - The Next Generation
PDF
Presentation on SOLID design principles
Test code that will not slow you down
Introduction to Jooq
Writing SOLID Code
JUnit 5 - The Next Generation
Presentation on SOLID design principles

Recently uploaded (20)

PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
System and Network Administraation Chapter 3
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
medical staffing services at VALiNTRY
PDF
AI in Product Development-omnex systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
top salesforce developer skills in 2025.pdf
PPTX
Essential Infomation Tech presentation.pptx
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Which alternative to Crystal Reports is best for small or large businesses.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
CHAPTER 2 - PM Management and IT Context
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
System and Network Administraation Chapter 3
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Operating system designcfffgfgggggggvggggggggg
Reimagine Home Health with the Power of Agentic AI​
Navsoft: AI-Powered Business Solutions & Custom Software Development
Design an Analysis of Algorithms I-SECS-1021-03
medical staffing services at VALiNTRY
AI in Product Development-omnex systems
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
VVF-Customer-Presentation2025-Ver1.9.pptx
top salesforce developer skills in 2025.pdf
Essential Infomation Tech presentation.pptx
L1 - Introduction to python Backend.pptx
Odoo POS Development Services by CandidRoot Solutions
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)

Introduction to jOOQ

  • 1. INTRODUCTION TO JOOQ Kostadin Golev CTO @ Getti Loyalty tweeting@kotseto kgolev.com To ORM Or Not To ORM?
  • 3. STATE OF JAVA PERSISTENCE (2015 SURVEY)
  • 5. #1 - JPA / HIBERNATE - THE GOOD PARTS ➤ JAVA, не SQL ➤ Objects! ➤ Swap your database ➤ You do not have to write a lot of code ➤ Performance
  • 6. #1 - JPA / HIBERNATE - THE BAD PARTS ➤ What is is this JOIN, UNION? ➤ SQL set != Objects ➤ Database specific features missing ➤ Complex SQL features - hard to use or missing ➤ Performance
  • 7. THE ACCEPTED ALTERNATIVE - JDBC ➤ SQL ➤ Errors at runtime ➤ Map to objects - too much work ➤ Java is verbose enough as it is ➤ SQL manipulation = String manipulation
  • 8. JAVA OBJECT ORIENTED QUERYING ➤ SQL ➤ Type-safe SQL ➤ Checks differences between db and Java code on every build ➤ Makes mapping to Objects easier ➤ Free for Open-source databases ➤ Mature
  • 10. HOW EASY IS TO SHOOT YOURSELF WITH IT? ➤ Comparable with JDBC performance ➤ With rare exceptions - thread-safe ➤ Use fetch lazy when fetching big sets of records / slow connection
  • 11. NOW WHAT? ➤ JPA Projects - JPA for CRUD, jOOQ where SQL is needed ➤ JDBC Projects - full migration possible ➤ All - Migrate what you want. Type-safe SQL is a good first step! ➤ You do not have to use only one framework!
  • 12. RESOURCES ➤ jooq.org ➤ http://kgolev.com/orm-not-orm-introduction-jooq/ ➤ https://github.com/kotse/jooq-starter THANK YOU!