my blog. for you.

Let’s talk digital.

I’m an independent IT consultant and entrepreneur in the Internet and software business. I’m interested in design, enterprise applications, web apps and SaaS products. I design and develop business solutions and applications. I help companies in terms of software quality and knowledge transfer, e.g. with Angular and Spring Boot.

Spring Boot & Flyway – How to Clear a Test Database Between Integration Tests

A few months ago, consultant and prolific open source contributor Maciej Walkowiak, of Spring Cloud AWS and just fame, wrote about clearing test databases between integration tests with Spring Boot and Flyway. The recipe / pattern for restoring a test database to its previous state (i.e. the state before a specific integration test has been executed) outlined in that article should come in handy to anyone working with Spring Boot. Moreover, the basic concept is generic enough to be applied to another ... Read more

Do you really need Hibernate by Simon Martinelli @ Spring I/O 2023

Read more

Schematic – A Database Management UI for Spring Boot

Out of my own need for an embedded database management tool for Spring Boot web applications, similar to the H2 Console, but for non-embedded databases, I've created Schematic - a database management UI for Spring Boot. Specifically, for the Workshops.DE Spring Boot course, some time ago we had decided to replace a development-time, embedded H2 database (and the console application that comes with it) with a more realistic (in that it brings our code closer to an assumed dev / prod parity, ... Read more

Inheriting Properties for Lombok @Builders and JPA Entities

Lombok is one of those helpful developer tools for the Java language ecosystem that streamline (or even do away with entirely) the more tedious and mundane tasks in software development. Lombok in particular vastly reduces the boilerplate code Java developers have to write by providing annotations that have code for common structures and patterns such as constructors, getters and setters, and builders automatically generated. While tremendously helpful, sometimes edge cases can occur when working with theses kinds of abstractions and as a ... Read more

Guest Post on the AWS Open Source Blog: Using PostgreSQL with Spring Boot on AWS

Last week, another two-part article by Tom Hombergs, Philip Riecks, and me was published on the AWS Open Source Blog. Thanks a lot to Ricardo Sueiras for making this possible. This time around we wrote about how to use a PostgreSQL database with Amazon RDS and Spring Boot: Using PostgreSQL with Spring Boot on AWS — Part 1 Using PostgreSQL with Spring Boot on AWS — Part 2 These articles draw upon the chapter Connecting to a Database with Amazon RDS from our eBook Stratospheric ... Read more

Rarely Used But Useful PostgreSQL Features

I'm an avid user of SQL and the variety of - frequently overlooked - features it provides. However, unfortunately the possibilities of SQL and modern, advanced open source incarnations of RDBMS such as PostgreSQL aren't utilised to the extent they could be when developing web or enterprise applications today. More often than not SQL database are perceived as a mere data store for persisting object-oriented data, which can give rise to the famous object-relational impedance mismatch. SQL servers, PostgreSQL in particular, are capable ... Read more

R2DBC: Reactive Relational Database Connectivity for Java and Spring

As I mentioned in a blog post last week with Reactor and Spring WebFlux reactive programming has come to Java and the Spring platform. R2DBC is relatively new project that aims to "to bring a reactive programming API to relational data stores". While currently still considered experimental, R2DBC endeavours to introduce reactive programming to how we access relational databases (reactive relational, hence the R2 in the name). This means that instead of the traditional way of querying SQL databases imperatively with prepared statements ... Read more

Modern SQL by Markus Winand

Last year, I attended an event during which SQL trainer and consultant Markus Winand gave an aptly titled talk on Modern SQL: Evolution of a dinosaur (the linked video is not from that event but it shows the same talk given at another event). Markus runs a website called Modern SQL, which provides an impressive range of SQL tips, best practices, descriptions of both highly useful and lesser known SQL features and comparisons between the various relational database management systems (RDBMS) available ... Read more

Using Spring JdbcTemplate Instead of Object-Relational Mapping

Spring JDBC and Spring JdbcTemplate in particular has become my go-to tool for accessing relational databases for quite some time now and for good reason in my opinion: The common way for using data from an RDBMS in an object-oriented context used to be and for the most part still is object-relational mapping (ORM) frameworks like the Java Persistence API (JPA) or Rails' ActiveRecord. As the name suggests these frameworks attempt to map data (and concepts) from relational, set-oriented data structures, which ... Read more

Keeping database schemas up-to-date with Flyway

At least ever since Ruby on Rails' Active Record Migrations put an emphasis on keeping database schemas consistent with your software's source code both during development and in production database migration tools have become a staple in modern software development. Database migration (or database refactoring as this technique is sometimes called as well) tools allow you to apply data definition language (DDL) statements like "CREATE TABLE ..." or "ALTER ..." to databases in an automated, consistent and traceable manner instead of either ... Read more
Next Page »