Bonjour

J'ai créé une table avec une clé composite, dans les objets Java ca donne ca :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
@Entity
@Table(name="T_RPA_HISTO_SYNTHESE")
@PersistenceContext(name = "persistence-masRPA")
public class RpaHistoSyntheseBean implements Serializable
{
    @EmbeddedId
    private RpaHistoSynthesePKBean pk;
 
...
}
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
@Embeddable
public class RpaHistoSynthesePKBean implements Serializable
{
    @Column(name="NUMERO_DOSSIER")
    private String numeroDossier;
 
    @Column(name="DATE_HISTO")
    private Date dateHisto;
...
}
J'arrive a écrire dans la table avec un persist ou un merge
J'arrive également a faire un find sur ma clé composite, donc a priori mes déclarations sont correctes.
Par contre je n'arrive pas a trouver la bonne syntaxe pour faire une recherche, j'ai essayé ca :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT historique FROM fr.rpa.persistence.RpaHistoSyntheseBean as historique WHERE historique.pk.numeroAgdref2 = :pk.numeroDossier
Mais j'obtiens un NullPointerException au moment de faire entityManager.createQuery, je suppose donc que ma syntaxe n'est pas correcte mais je ne vois pas trop comment faire...