validaciones relaciones relacion onetoone onetomany one many ejemplo anotaciones java hibernate annotations

java - relaciones - relacion onetoone jpa



Hibernate reasignado relaciones de superclase y anulaciĆ³n (2)

Tengo un MappedSuperClass, Participante abstracto, que se extiende por tres tipos de ''Participante''. Luego, cada uno usa su propio tipo de ''Proyecto'', también un MappedSuperClass abstracto. Sin embargo, quiero que la clase base sepa sobre Proyectos para poder escribir código genérico para interactuar con los Participantes. ¿Cómo especifico esto usando las anotaciones de Hibernate? y ¿cómo lo anularé en las clases ExtendedParticipant y ExtendedProject?

Cada tipo de participante, y cada tipo de proyecto, tienen sus propias tablas de base de datos con los datos y los identificadores existentes (no únicos en todas las tablas) que no puedo modificar.

El siguiente código me da el error IDE "Muchos a un atributo no deberían ser ''Superclase mapeada''".

@MappedSuperclass public abstract class Participant implements Persistable { ... @ManyToOne @JoinColumn(name = "project_id") public Project getProject() { return project; } public void setProject(Project project) { this.project = project; } ... }

y la clase Proyecto es muy similar con el mismo problema:

@MappedSuperclass public abstract class Project implements Persistable { ... @OneToMany public List<Participant> getParticipants() { return participants; } public void setProject(List<Participant> participants) { this.participants = participants; } ... }