Github:
https://github.com/spring-projects/spring-data-jdbc
Documentation:
https://docs.spring.io/spring-data/jdbc/docs/current/reference/html/#reference
- feature rich, which means heavy
- complex with automagic, ergo unpredictable
- designed for huge monolithic applications
- lightweight
- simple, which means predictable
- designed for microservices and DDD (supports immutable objects, using specified constructors)
- uses Spring Data repositories
- supports immutable fields and value objects
- Aggregate roots
- insertion/deletion policy
- how entity state is tracked
- Object creation
- Immutability (Persistence constructor, Wither,
@Embedded)
- primitives, enums, String,
- Date, LocalDate, LocalDateTime, LocalTime
- Relationships: Set, Map, List
- Custom converters
- "Anything your database driver accepts." (like arrays in Postgresq)
- deriving query from method name currently not supported
- custom row mapping
- modifying queries
custom converters - @ReadingConverter, @WritingConverter
mybatis integration
auditing
lifecycle events