These are chat archives for hibernate/hibernate-orm
@Embeddablecan stand on it's own. No need to bury it in an inner static class
@Column(name = "fk_episode") protected Long episodeId;
@Column @Enumerated(EnumType.STRING) private EpisodeRole episodeRole;
@EmbeddedIdso it takes what's defined and uses it as a composite id
@Embeddablecan be an inner class of the entity, which isn't an unusual practice for embedded identifiers. But it doesn't have to be done that way.
@Embeddableand move it to its own class & compilation unit, it will work the same. In fact, if your project uses static metamodel generation, that is a requirement as the static metamodel generation process doesn't work with inner static classes.