2010-12-07 1 views
5

Ich versuche, das Ticket-Feld als Fremdschlüssel zu holen Kommentare verwenden, aber ich bin immer folgende Fehler:Fehler in JPA-Mapping - Fetch Kommentaren

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] 

Dies ist der Code ich verwende in mein javabean: - Hide Text zitiert -

@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(); 
    } 

Dank

Antwort

10

A Ticket Objekt offensichtlich nicht auf 751. Die ID kann gleich sein kann. So WHERE c.ticket.id = 751

(Für die Zukunft: Ich bezweifle, dass Sie die ID werden hartzucodieren, verwenden Sie so einen benannten Parameter)

+0

DANK LOOOOOOOOOOOOOT !!!!! – Steffi

+0

Yeahhh, ich werde Set-Parameter usw. verwenden ... es war nur für den Test ... – Steffi