Bonjour
J'ai défini un héritage d'entités avec un joined.
Classe mèrequi contient donc des EventDateEntity
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 @Entity @Inheritance(strategy=InheritanceType.JOINED) public class EventEntity implements Serializable { ... @OneToMany(mappedBy = "event", fetch = FetchType.LAZY) private List<EventDateEntity> eventsDates; ... }
Une de mes classe fille est (j'en ai deux):
J'aimerai sélectionner tout les EventDateEntity qui ont leur propriété event de type EmployeeEventEntity
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 @Entity public class EmployeeEventEntity extends EventEntity { @JoinColumn(name = "event", referencedColumnName = "id",nullable=false) @ManyToOne(fetch = FetchType.LAZY) private EventEntity event; }
J'ai essayé des query du type:
Avec des INNER JOIN je n'ai pas de columnes de jointure entre les classes mères et filles. Par contre si je passe par un héritage de type SINGLE_TABLE, je pourrai peut être y arriver mais je souhaitais garder mon héritage en JOINED (pour garder des nullable=false)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5SELECT ed FROM EventDateEntity as ed WHERE ed.eventDate = :date and ed.event.class=EmployeeEventEntity and ed.event.employee.enterprise= :enterprise order by ed.event.employeeEventType,ed.event.employee
Il y a peut être des requetes spécifiques pour l'héritage??? Je n'ai pas trouvé
Si quelqu'un a une idée... merci d'avance!
Partager