Bonjour
J'ai défini un héritage d'entités avec un joined.
Classe mère
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;
    ...
}
qui contient donc des EventDateEntity

Une de mes classe fille est (j'en ai deux):
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'aimerai sélectionner tout les EventDateEntity qui ont leur propriété event de type EmployeeEventEntity

J'ai essayé des query du type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT 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
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)

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!