2010-12-07 3 views
5

Je suis en train de récupérer les commentaires en utilisant le champ de billets comme une clé étrangère, mais j'obtiens les erreurs suivantes:Erreur dans la cartographie JPA - Commentaires Fetch

Caused by: Exception [EclipseLink-6078] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): org.eclipse.persistence.exceptions.QueryException 
Exception Description: The class of the argument for the object comparison is incorrect.   

Expression: [ 
Base com.test.forum.model.Comment] 
Mapping: [org.eclipse.persistence.mappings.OneToOneMapping[ticket]] 
Argument: [751] 

Voici le code que je utilise dans mon javabean: - Masquer le texte des messages -

@JoinColumn(name = "ticket", referencedColumnName = "id") 
    @ManyToOne(optional = false) 
    private Ticket ticket; 


    public List<Comment> findComment(int id) { 
     Query q = em.createQuery("SELECT c FROM Comment c WHERE c.ticket = 751"); 
     return q.getResultList(); 
    } 

Merci

Répondre

10

Un objet Ticket ne peut évidemment pas être égale à 751. Son can ID. Alors WHERE c.ticket.id = 751

(Pour l'avenir: je doute que vous serez hardcoding l'ID, utilisez donc un paramètre nommé)

+0

MERCI A LOOOOOOOOOOOOOT !!!!! – Steffi

+0

Yeahhh, je vais utiliser le paramètre set etc ... c'était juste pour le test ... – Steffi