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
Continue reading “How to map an immutable entity with JPA and Hibernate”
When using PostgreSQL, it’s tempting to use a SERIAL or BIGSERIAL column type to auto-increment Primary Keys.
However, this article will show you that this is not a very good idea when using JPA and Hibernate.
Continue reading “PostgreSQL SERIAL column and Hibernate IDENTITY generator”
As already explained, the
hibernate-types open-source project allows you to map JSON, ARRAY, PostgreSQL ENUM types and provides a simple way of adding immutable Hibernate Types.
After adding support for customizing the Jackson
ObjectMapper, the next most-wanted issue was to provide a way to customize the JSON serializing mechanism.
In this article, you are going to see how you can customize the JSON serializer using hibernate-types.
Continue reading “How to customize the JSON Serializer used by Hibernate-Types”
Inspired by this comment on my blog, in this article, we are going to see how to use a UUID entity identifier that is auto-generated by Hibernate either in the JVM or using database-specific UUID functions.
Post entity looks as follows:
Post entity has a UUID identifier and a title. Now, let’s see how we can map the
Post entity so that the UUID identifier be auto-generated for us.
Continue reading “How to use a JVM or database auto-generated UUID identifier with JPA and Hibernate”
Like other non-functional requirements, portability is a feature. While portability is very important when working on an open-source framework that will be used in a large number of setups, for end systems, portability might not be needed at all.
This article aims to explain that you don’t have to avoid database or framework-specific features if you want to achieve portability.
Continue reading “How to use database-specific or Hibernate-specific features without sacrificing portability”