Intro to Databases - raisercostin/software-wiki GitHub Wiki
Best practices
No Hibernate/JPA
Persistence layer
JOOQ queries
https://github.com/jOOQ/jOOQ
Please start to use jooq for queries instead of hibernate/jpa if is possible. Jooq respects much better the Principle of least surprise. No special sessions, no strange java abstractions on top of queries, dirty detection, special collections, etc. Is a much safer library than hibernate and jpa.
spring JdbcTemplate queries
deprecated
returning Object[] from queries instead of POJO
hibernate mappings
hibernate queries
hibernate native queries
hibernate automagic fetch/lazy for one-to-many, many-to-one, many-to-many
jdbc low level api
Concepts & Notions
Relational vs Non Relational Databases
ORM - Object Relational Mapping
ORM vs non ORM
impedance mismatch
session
transactions
database
JPA
JTA - cross transactional
isolation level
see Intro to Resource Pooling
Database Migrations
Poliglot database
Database refactoring techniques
Profiling database
Rapid prototyping
CRUD
upsert operation - insert or update
Database clients
Simple
jdbc - low level connection
spring templates - better error handling
NORM - Not ORM
Exposed - Kotlin SQL Framework
Slick - scala
Anorm - scala
ebean
ORM
JPA
Hibernate - extension of JPA
others - everyobdy invents one
Databases
Resources
🗂️ Page Index for this GitHub Wiki