Logging with Azure Application Insights – Part 1: Spring-Boot
When developing and running apps inside Microsoft Azure you have to deal with the topics like monitoring and logging. Azure provides a central solution for that question which is Application Insights....
View ArticleConditional evaluation in Docker files
In general, a Docker build file (Dockerfile) should be usable on any Docker server. In some cases however, you would like to have something like a conditional ‘IF’ statement in your Dockerfile. To give...
View ArticleJPA Pitfalls – a Series of Serious JPA Obstacles
Most of our Java-based web-applications store their data in a relational database such as Oracle, PostgreSQL, MySQL, MariaDB or MS SQLServer. The standard way to access and modify the data is using an...
View ArticleJPA Pitfalls (1): Serialized Collection
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, how easily a relation mapped as collection ends up as a...
View ArticleJPA Pitfalls (2): List or Set Relationship
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 difference between a set or list relationship. JPA...
View ArticleJPA Pitfalls (3): Cascade Persist
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 issues of EM.persist with respect to relationships. When...
View ArticleJPA Pitfalls (4): Relationship Owner
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 issues with bidirectional relationships. In a...
View ArticleJPA Pitfalls (5): Object-Relational Mapping and Inheritance
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 possible performance impacts of JPA inheritance mapping...
View ArticlePostgres Performance Troubleshooting – An Example
Recently we encountered some severe performance problems in one of our projects. Some SQL queries were very slow. A certain query took over 6 seconds to finish in Azure’s Postgres service and about...
View ArticleJPA Pitfalls (6): Query Result with Duplicates
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 duplicates in the result of a JPQL query. A...
View ArticleJPA Pitfalls (7): Null Parameter
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 issues with using null parameter values. Setting the value...
View ArticleJPA Pitfalls (8): Navigation of Relationships
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 navigational JPQL queries....
View ArticleJPA 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 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 Article