Sometimes, you need to associate your entity with a collection of primitive values to represent a simple one/many-to-many relationship. For example, each movie has a set of associated genres that we want to keep stored in the database. To represent them from an object-oriented perspective, we will define a list (collection) of strings in our Movie class. To reflect this relationship inside the database, we will use the @ElementCollecion annotation, as shown in the following example:
@Entity public class Movie { @Id @GeneratedValue private long id; private String title; @ElementCollection private List<String> genres = new ArrayList<>(); public Movie() { } // getters and setters here }
The @ElementCollection annotation will make the JPA provider create another table (movie_genres) to store...