To implement an parent object in one-to-many relation with a child object that has a composite primary key (i.e. multiple columns as primary key) is not quite straightforward.
We need to use a mix of JPA annotations along with creating some embeddable classes.