How do you guys go about the persistence layer?

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

Our great sponsors
  • Scout APM - Truly a developer’s best friend
  • Sonar - Write Clean Java Code. Always.
  • Zigi - Delete the most useless function ever: context switching.
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • 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.

  • Scout APM

    Truly a developer’s best friend. Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.

  • 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 https://ebean.io/ ... 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