SlideShare a Scribd company logo
Apache Cayenne
a Java ORM Alternative
by Andrus Adamchik
@andrus_a
About Me
• Member and VP of the Apache Software Foundation.
• Run a company called ObjectStyle.
• Open source developer: ORM, dependency injection, REST, no-
container, etc.
What is Apache Cayenne
• A mature user-friendly Java ORM with modeling tools.
• An alternative object persistence philosophy.
• Current dev version is 4.0 (209 new features and bug fixes).
• Used by commercial, government and educational orgs on all
continents.
History
• 2001: Inception.
• 2002: First Alpha Release and a large production deployment.
• 2006: "ObjectStyle Cayenne" becomes "Apache Cayenne".
• 2016: Active project with great community.
"Community over Code"
• A community-driven project under Apache Foundation umbrella.
• Dozens of contributors over the years.
• 8 PMC (Project Management Committee) members.
• Meritocracy - anyone can earn a vote by contributing.
Demo
Project Setup
• CayenneModeler helps to setup and maintain the project.
• DB-first approach to ORM gets you started quickly with existing DB.
• Auto sync of DB changes without overriding custom mapping.
Starting Cayenne
Obtaining ObjectContext
Running a Query
Editing and Saving Objects
Cayenne vs. JPA / Hibernate
Transactions
• JPA/Hibernate were born in the EJB world. Both are transaction-
centric.
• Cayenne transactions are implicit, unless you want it otherwise.
• Cayenne is not connected to DB between JDBC operations.
• Better connection pool reuse and no user TX code.
ObjectContext
• An isolated unit of work (each context has its own copy of objects).
• Not holding any open resources (connections, etc.), doesn't need to
be closed.
• Fairly cheap - you can create as many instances as you need.
• Can be nested (similar to nested transactions, only in memory).
• Object graph can be expanded lazily as object relationships are
traversed.
Persistent Object
• Framework-provided superclass - CayenneDataObject.
• No pollution with ORM annotations.
• Generic property access API.
• Generic mapping - can be created in runtime.
Other Good Things
Dependency Injection (DI)
Nested Contexts
Remote Object Persistence
Caching
Handling Large Result Sets
Batch Iterator
cayenne-crypto
Why Cayenne?
• Mature, performant, user-friendly.
• Opinionated on the side of usability.
• Not obsessed about transactions. Smooth object graph navigation.
• Community-driven. You can have a voice!
Questions?
• @ApacheCayenne
• http://cayenne.apache.org/
• https://github.com/apache/cayenne

More Related Content

What's hot (20)

PDF
DynamoDBを導入した話
dcubeio
 
PDF
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud Platform - Japan
 
PPTX
Vert.x vs akka
Chang-Hwan Han
 
PDF
Self-Selection: A SAFe Approach to Forming Agile Release Trains
Em Campbell-Pretty
 
PDF
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
Google Cloud Platform - Japan
 
PDF
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
Google Cloud Platform - Japan
 
PDF
PostgreSQL High Availability via SLONY and PG POOL II
Command Prompt., Inc
 
PDF
게임 데이터 분석을 위한 Data Lake 구축과 Machine Learning 을 활용한 분석 Hands on Lab (안효빈 솔루션즈 ...
Amazon Web Services Korea
 
PDF
2019.06.27 Intro to Ceph
Ceph Community
 
PDF
EKS를 통한 차량 공유 서비스 '타다' 서비스 구축기 - 김태호, VCNC :: AWS Summit Seoul 2019
Amazon Web Services Korea
 
PDF
Hadoopの標準GUI HUEの最新情報
Cloudera Japan
 
PDF
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
Satoshi Nagayasu
 
PDF
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
Yahoo!デベロッパーネットワーク
 
PDF
Training Slides: Basics 102: Introduction to Tungsten Clustering
Continuent
 
PDF
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
distributed matters
 
PDF
Spark Interview Questions and Answers | Apache Spark Interview Questions | Sp...
Edureka!
 
PDF
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
OSSラボ株式会社
 
PDF
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Databricks
 
PDF
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Web Services Korea
 
PDF
Introducing Kubeflow (w. Special Guests Tensorflow and Apache Spark)
DataWorks Summit
 
DynamoDBを導入した話
dcubeio
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud Platform - Japan
 
Vert.x vs akka
Chang-Hwan Han
 
Self-Selection: A SAFe Approach to Forming Agile Release Trains
Em Campbell-Pretty
 
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
Google Cloud Platform - Japan
 
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
Google Cloud Platform - Japan
 
PostgreSQL High Availability via SLONY and PG POOL II
Command Prompt., Inc
 
게임 데이터 분석을 위한 Data Lake 구축과 Machine Learning 을 활용한 분석 Hands on Lab (안효빈 솔루션즈 ...
Amazon Web Services Korea
 
2019.06.27 Intro to Ceph
Ceph Community
 
EKS를 통한 차량 공유 서비스 '타다' 서비스 구축기 - 김태호, VCNC :: AWS Summit Seoul 2019
Amazon Web Services Korea
 
Hadoopの標準GUI HUEの最新情報
Cloudera Japan
 
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
Satoshi Nagayasu
 
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
Yahoo!デベロッパーネットワーク
 
Training Slides: Basics 102: Introduction to Tungsten Clustering
Continuent
 
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
distributed matters
 
Spark Interview Questions and Answers | Apache Spark Interview Questions | Sp...
Edureka!
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
OSSラボ株式会社
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Databricks
 
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Web Services Korea
 
Introducing Kubeflow (w. Special Guests Tensorflow and Apache Spark)
DataWorks Summit
 

Viewers also liked (19)

ODP
Hibernate Developer Reference
Muthuselvam RS
 
PDF
ORM Java - Hibernate
Massimiliano Brolli
 
PDF
UpsilonPiEpsilon-UniversityOfBridgeport-May1997
Muthuselvam RS
 
PPT
Hibernate
Regis Melo
 
PPT
JPA - Java Persistence API
Rodrigo Cascarrolho
 
PDF
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
Brett Meyer
 
PDF
JPA com Hibernate
Rafael Carneiro
 
POT
Mini curso hibernate com anotações
dieguinhomcz
 
PPT
Curso De Hibernate 3
Joel Lobo
 
PPTX
Database Performance Tuning
Arno Huetter
 
PDF
Introdução ao JPA com Hibernate
Danilo Braga
 
PDF
Refactor your Java EE application using Microservices and Containers - Arun G...
Codemotion
 
PDF
Hibernate ORM: Tips, Tricks, and Performance Techniques
Brett Meyer
 
PPTX
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Codemotion
 
PPT
Hibernate
Sunil OS
 
PPTX
Microservices Platforms - Which is Best?
Payara
 
PDF
High Performance Hibernate JavaZone 2016
Vlad Mihalcea
 
PDF
Ingesting Drone Data into Big Data Platforms
Timothy Spann
 
PPTX
The world's most famous programmers
Arno Huetter
 
Hibernate Developer Reference
Muthuselvam RS
 
ORM Java - Hibernate
Massimiliano Brolli
 
UpsilonPiEpsilon-UniversityOfBridgeport-May1997
Muthuselvam RS
 
Hibernate
Regis Melo
 
JPA - Java Persistence API
Rodrigo Cascarrolho
 
Not Just ORM: Powerful Hibernate ORM Features and Capabilities
Brett Meyer
 
JPA com Hibernate
Rafael Carneiro
 
Mini curso hibernate com anotações
dieguinhomcz
 
Curso De Hibernate 3
Joel Lobo
 
Database Performance Tuning
Arno Huetter
 
Introdução ao JPA com Hibernate
Danilo Braga
 
Refactor your Java EE application using Microservices and Containers - Arun G...
Codemotion
 
Hibernate ORM: Tips, Tricks, and Performance Techniques
Brett Meyer
 
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Codemotion
 
Hibernate
Sunil OS
 
Microservices Platforms - Which is Best?
Payara
 
High Performance Hibernate JavaZone 2016
Vlad Mihalcea
 
Ingesting Drone Data into Big Data Platforms
Timothy Spann
 
The world's most famous programmers
Arno Huetter
 
Ad

Similar to Apache Cayenne: a Java ORM Alternative (20)

PDF
Apache Cayenne for WO Devs
WO Community
 
PPTX
Play Architecture, Implementation, Shiny Objects, and a Proposal
Mike Slinn
 
PPTX
SeaJUG May 2012 mybatis
Will Iverson
 
PPT
2010 05-21, object-relational mapping using hibernate v2
alvaro alcocer sotil
 
PPTX
Full stack development using javascript what and why - ajay chandravadiya
ajayrcgmail
 
KEY
Lessons learned Building Nuxeo EP - Component-based, open source ECM platform
Nuxeo
 
PDF
An introduction to Node.js
Kasey McCurdy
 
PDF
Student Industrial Training Presentation Slide
Khairul Filhan
 
PPTX
Architecting Your First Big Data Implementation
Adaryl "Bob" Wakefield, MBA
 
PDF
Chicago Microservices Integration Talk
Christian Posta
 
PPTX
Frameworks Galore: A Pragmatic Review
netc2012
 
PDF
OpenStack Block Storage 101
NetApp
 
PPT
Hybernat and structs, spring classes in mumbai
Vibrant Technologies & Computers
 
PDF
Cloud Native Camel Riding
Christian Posta
 
PDF
Bitnami Bootcamp. OpenStack
Alberto Molina Coballes
 
PPTX
Why real integration developers ride Camels
Christian Posta
 
PDF
12-Step Program for Scaling Web Applications on PostgreSQL
Konstantin Gredeskoul
 
PPTX
Zero to Sixty with Oracle ApEx
Bradley Brown
 
PPTX
Oracle application container cloud back end integration using node final
Getting value from IoT, Integration and Data Analytics
 
PDF
SpringPeople - Introduction to Cloud Computing
SpringPeople
 
Apache Cayenne for WO Devs
WO Community
 
Play Architecture, Implementation, Shiny Objects, and a Proposal
Mike Slinn
 
SeaJUG May 2012 mybatis
Will Iverson
 
2010 05-21, object-relational mapping using hibernate v2
alvaro alcocer sotil
 
Full stack development using javascript what and why - ajay chandravadiya
ajayrcgmail
 
Lessons learned Building Nuxeo EP - Component-based, open source ECM platform
Nuxeo
 
An introduction to Node.js
Kasey McCurdy
 
Student Industrial Training Presentation Slide
Khairul Filhan
 
Architecting Your First Big Data Implementation
Adaryl "Bob" Wakefield, MBA
 
Chicago Microservices Integration Talk
Christian Posta
 
Frameworks Galore: A Pragmatic Review
netc2012
 
OpenStack Block Storage 101
NetApp
 
Hybernat and structs, spring classes in mumbai
Vibrant Technologies & Computers
 
Cloud Native Camel Riding
Christian Posta
 
Bitnami Bootcamp. OpenStack
Alberto Molina Coballes
 
Why real integration developers ride Camels
Christian Posta
 
12-Step Program for Scaling Web Applications on PostgreSQL
Konstantin Gredeskoul
 
Zero to Sixty with Oracle ApEx
Bradley Brown
 
Oracle application container cloud back end integration using node final
Getting value from IoT, Integration and Data Analytics
 
SpringPeople - Introduction to Cloud Computing
SpringPeople
 
Ad

Recently uploaded (20)

PPTX
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
PPTX
Revolutionizing Code Modernization with AI
KrzysztofKkol1
 
PDF
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PDF
Executive Business Intelligence Dashboards
vandeslie24
 
PPTX
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PPTX
3uTools Full Crack Free Version Download [Latest] 2025
muhammadgurbazkhan
 
PPTX
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
PDF
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PPTX
Engineering the Java Web Application (MVC)
abhishekoza1981
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PPTX
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
PPTX
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
 
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
Revolutionizing Code Modernization with AI
KrzysztofKkol1
 
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
Executive Business Intelligence Dashboards
vandeslie24
 
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
3uTools Full Crack Free Version Download [Latest] 2025
muhammadgurbazkhan
 
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Engineering the Java Web Application (MVC)
abhishekoza1981
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
 

Apache Cayenne: a Java ORM Alternative