Louis I. answered 06/21/19
Computer Science Instructor/Tutor: Real World and Academia Experienced
Well, I actually didn't know, but used this as a good excuse to find out ;-)
There are "some" - here's one that looked the mots generic and complete, supporting a really wide range of persistence options - https://github.com/imetaxas/double-entry-bookkeeping-api
Here's the component API pattern for instantiating an instance of a "ledger" using JDBC/MySQL...
ConnectionOptions options = new ConnectionOptions(DataSourceDriver.JDBC_MYSQL)
.url("URL")
.username("USERNAME")
.password("PASSWORD");
Ledger ledger = new LedgerBuilder(chartOfAccounts)
.name("My JDBC MYSQL ledger")
.options(options)
.build()
.init();