A client I’m working with has an email templating system that needs an upgrade! The current design utilizes a denormalized table that needed to grow a column every time a new unique token is needed. After a review of the offerings through JPA, I was happy to see that JPA had some support for java.util.Map through joins through a variety of the @MapKey annotation.
In this post, I’ll demonstrate the less frequently used methodology of applying and populating a Map of entities using a single table and a composite key.