Una clase que se comporta como @Entity y @Embeddable

Tengo una relación unidireccional de @OneToMany entre un equipo y una clase de jugador. Me gustaría guardar un objeto de equipo entre tus jugadores. El identificador del jugador ES COMPUESTO por clave externa del equipo e índice de lista de la siguiente manera. Tengo una asignación como esta porque necesito guardar el Equipo y tus Jugadores comieron al mismo tiempo.

<code>@Entity
public class Team {

    @Id
    @GeneratedValue
    private Integer id;

    @CollectionOfElements
    @JoinTable(
        name="PLAYER",
        joinColumns=@JoinColumn(name="TEAM_ID"))
    @IndexColumn(name="PLAYER_INDEX")
    private List<Player> playerList = new ArrayList<Player>();

}

@Embeddable
public class Player {

   // Player's getter's and setter's

}
</code>

Así que si uso lo siguiente

<code>Team team = new Team();

team.getPlayerList().add(new Player());
team.getPlayerList().add(new Player());

session.save(team); // It works!
</code>

Ocurre si usa @CollectionsOfElements, la clase Player necesita una anotación @Embeddable, no una @Entity. JPA no permite @Entity y @Embeddable al mismo tiempo. El jugador también es una @Entidad - tiene relación con otras entidades.

¿Alguien tiene una idea sobre si podría salvar a un Equipo y un Jugador (ONE WAY RELATIONSHIP) usando CascadeType.PERSIST con @Entity en la clase Player en lugar de @Embeddable?

Recuerde que la clave primaria COMPUESTA debe asignarse antes de guardar, pero el identificador del Equipo y la posición del índice de la Lista de Reproducción podrían desempeñar el papel de la clave principal compuesta del Jugador

Saludos,

Respuestas a la pregunta(2)

Su respuesta a la pregunta