JPA Pitfalls (9): UPDATE/DELETE and Persistence Context
This blog article is part of a “series of blog articles” about common pitfalls using JPA and ways to avoid them. In this article, we describe bulk the effect of JPQL operations on the EntityManager...
View ArticleJPA Pitfalls (10): Query Flush Mode
This blog article is part of a “series of blog articles” about common pitfalls using JPA and ways to avoid them. In this article, we describe unexpected results of JPQL queries with respect of the...
View ArticleJPA Pitfalls (11): Iteration / Sorting in Memory or in DB
This blog article is part of a “series of blog articles” about common pitfalls using JPA and ways to avoid them. In this article, we describe a potential problem when filtering in memory instead of...
View ArticleJPA Pitfalls (12): Lazy Loading of Relationships in a Loop
This blog article is part of a “series of blog articles” about common pitfalls using JPA and ways to avoid them. In this article, we describe a potential performance problem when loading relationships...
View ArticleJPA Pitfalls (13): EntityManager.merge Result
This blog article is part of a “series of blog articles” about common pitfalls using JPA and ways to avoid them. In this article, we describe a common error when using EntityManager.merge. The...
View ArticleJPA Pitfalls (14): EntityManager.persist and Transactions
This blog article is part of a “series of blog articles” about common pitfalls using JPA and ways to avoid them. In this article, we describe the result of EntityManager.persist inside and outside of...
View ArticleYes, Rust has Garbage Collection, and a Fast One
Rust is getting more and more popular. Thus, a group of colleagues, including myself, evaluated it for half a day to build up our own opinion, if Rust is of strategic interest for us or not. We did...
View ArticleBuilding an ETL Pipeline with Open Source Tools
What Is ETL ETL stands for Extract, Transform, Load. Extraction is the process by which data from many sources and formats is collected. The data is then processed to allow for ease of storing and...
View ArticleKotlin/JVM, Rust, and Randy Random
In this previous article I implemented a small, enterprisy benchmark to compare the concept of garbage collection used by Kotlin/JVM with the concept of Rust, which claims to not have any garbage...
View ArticleJPA Pitfalls (15): Merge DTO into Entity
This blog article is part of a “series of blog articles” about common pitfalls using JPA and ways to avoid them. In this article, we describe a problem with unextected changes when using DTOs. A lot...
View ArticleHaskell is Faster than Rust! … Wait a Sec!
To evaluate the impact of memory management in Rust, I implemented a short benchmark in Rust and Kotlin. You can find all the details here and here. Measurements showed that Rust is roughly a factor...
View ArticleJPA Pitfalls (16): EntityManager.remove Does Not Remove Entity
This blog article is part of a “series of blog articles” about common pitfalls using JPA and ways to avoid them. In this article, we describe a problem with entites not beeing removed altough...
View ArticleCreating coherent Networks for docker development
Docker is a great tool for developing micro services that may be composed together in order to form a larger application. However, Docker containers run in a network apart from the host machine. That...
View ArticleLooking at the big picture – further training in systemic organizational...
Part 3/3 of our interview series on further education Most training courses are over after a few hours or days, but my colleague Sarah took part in a training course for a year and a half. She is a...
View ArticleStreamResults with OpenApi and SpringBoot
In a customer project, documentation forms (data record for a dialysis treatment) from dialysis centers are read in and subjected to a quality analysis. The quarterly billing to the centers is based...
View ArticleDynamic container configuration (using KeyCloak as an example)
Docker images often are parameterized through startup arguments or environment variables. There are often situations however, where certain aspects cannot be configured this way. Instead, you either...
View ArticleHandling and testing refresh token timeouts in KeyCloak
Handling (OAuth) refresh tokens can be quite complicated as there are a lot of parameters influencing the actual behaviour. In this article we show some best practices and how to test your actual...
View ArticleHandling Errors Functionally with Either – A Detailed Guide
IntroductionStructureObjectivesLanguage and VersionThe Classic Approach – ExceptionsDomain versus Non-Domain ErrorsError Handling at RuntimePoor Compatibility with Strong Type SystemsPoor...
View ArticleUse Cases for Formal Architecture Verification
We have discovered Formal Architecture Verification as an affordable quality assurance (QA) measure that is suitable for a wide variety of applications. TLA+ is one of the most widespread technology...
View ArticleA Technical Overview on Service-Oriented Device Connectivity (ISO/IEEE 11073...
Motivation Interoperability is an important topic within the medical domain. Interchanging information throughout different systems in a hospital environment is still a challenge. Adopting standards...
View Article