How do you guys go about the persistence layer?

This page summarizes the projects mentioned and recommended in the original post on /r/java

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern API for authentication & user identity.
  • - Learn 300+ open source libraries for free using AI.
  • schema-evolution-manager

    Schema Evolution Manager makes it very simple for engineers to contribute schema changes to a postgresql database, managing the schema evolutions as proper source code. Schema changes are deployed as gzipped tarballs named with the corresponding git tag.

    I'm a fan of Flyway, and it can integrate pretty well into Dropwizard & Spring, but I vastly prefer separating the schema (DDL) into its own repository, in which case Java seems like an over-complication. SEM is a good, open-source tool that functions more or less like Flyway and doesn't need to load the entire Java framework to get going.

  • Spring

    Spring Framework

    The web services framework I use (Dropwizard, similar to Spring) comes with abstractions for Hibernate, so that makes the choice of an ORM layer pretty simple. Hibernate is good enough for most situations and will let you create native SQL queries for those cases where you have more complicated DML to run.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • Lombok

    Very spicy additions to the Java programming language.

    I'm already core maintainer of a 1 million+ users open source project (Project Lombok). I give presentations on how difficult that can be. It's even called 'our 7 biggest mistakes'.

  • SQLDelight

    SQLDelight - Generates typesafe Kotlin APIs from SQL

    Something I'll add because it hasn't been mentioned yet is sqldelight.

  • jtaf4

    JTAF - Java Track and Field

    Hmm, interesting. I've seen some rather complex nesting in customer code. One thing that I can show here is this.

  • Ebean ORM

    Ebean ORM

    You can have a look at ... better control over the generated SQL, multiple levels of abstraction, can generate DB migrations and run the DB migrations, transparent encryption support, SQL 2011 history support, test against docker containers.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts