How to synchronize bidirectional entity associations with JPA and Hibernate

Introduction

While answering this StackOverflow question, I realized that it’s a good idea to summarize how various bidirectional associations should be synchronized when using JPA and Hibernate.

Therefore, in this article, you are going to learn how and also why you should always synchronize both sides of an entity relationship, no matter if it’s @OneToMany, @OneToOne or @ManyToMany.

Continue reading “How to synchronize bidirectional entity associations with JPA and Hibernate”

How to use @PrePersist and @PreUpdate on Embeddable with JPA and Hibernate

Introduction

In a previous article, I explained how you could audit entity modifications using the JPA @EntityListeners for embeddable types.

Since Hibernate ORM 5.2.17 now allows you to use the @PrePersist and @PreUpdate JPA entity listeners, we can simplify the previous example, as you will see in this article.

Continue reading “How to use @PrePersist and @PreUpdate on Embeddable with JPA and Hibernate”

How to map an immutable entity with JPA and Hibernate

Introduction

In this article, you are going to find out how to map an immutable entity when using JPA and Hibernate.

If your Domain Model requires that a given entity should not be modified by the data access logic, Hibernate can enforce this requirement if the entity is marked with the @Immutable annotation.

Continue reading “How to map an immutable entity with JPA and Hibernate”