Christian Claus bio photo

Christian Claus

just another software developing, nature and technology enthusiast

Twitter Github

Recent Posts

Performance Messungen mit Spring AOP

Performance Messungen sind so eine Sache. Es gibt in der weiten Welt mindestens zwei verschiedene Ansätze, die sich bewährt haben. Der eine Ansatz nennt sich Sampling der andere Instrumentation. Beim Sampling wird von außen in regelmäßigen Abständen in die auszuführenden Threads geschaut und eine Laufzeitmessung gemacht. Bei der Instrumentation wird nicht in festen Zeitfenstern gemessen, sondern es werden Methoden definiert, deren Laufzeiten direkt gemessen werden. Und genau diese, letztere Methode, stelle ich euch in diesem Post vor.

Optimistic Locking mit JPA

Gerade wenn eine Anwendung komplexer wird und es möglich ist die gleichen Daten an verschiedenen Stellen der Anwendung zu modifizieren oder aber mehrere Anwender auf der gleichen Datenbasis operieren, kommen wir wohl oder übel zu dem Punkt, dass Werte von Datensätzen durch andere konkurrierende Schreibzugriffe überschrieben werden können. Wie man damit umgehen kann (wie immer mit extrem wenig Aufwand verbunden) zeige ich in diesem Post.

Soft-Delete mit Spring-Data und Hibernate Annotations

Wenn man eine Webapplikation betreibt die dem User in irgendeiner Weise Datenmanipulation erlaubt, kann es durchaus vorkommen, dass ebendieser User auf die Idee kommt einen Datensatz zu löschen. In der Regel, und ich denke es ist guter Stil, möchte man wohl nicht wirklich zulassen, dass der Datensatz gelöscht wird, sondern man möchte vielmehr die Daten nur als gelöscht markieren. Wie das funktioniert, kannst du in diesem Post lesen.

Eine schöne Mapped-Superclass mit Spring-Data und JPA

Object-relational-mapping ist eine schöne Sache und gibt dem Entwickler richtige, echte Objekte an die Hand, wenn er die Datenbank abfragt. Meist ist es auch noch so, dass wir gerne noch irgendwelche Meta-Informationen an unseren Datensätzen haben. Ich persönlich möchte in jedem Fall wissen, welcher User wann etwas bei mir in der Datenbank geändert hat. Neugierig? Dann lies weiter...