Ошибка в отображении JPA - получение комментариев - PullRequest
5 голосов
/ 07 декабря 2010

Я пытаюсь получить комментарии, используя поле заявки в качестве внешнего ключа, но получаю следующие ошибки:

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]

Это код, который я использую в своем javabean: - Скрыть цитируемый текст -

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

Спасибо

1 Ответ

10 голосов
/ 07 декабря 2010

A Ticket объект, очевидно, не может быть равен 751. Его идентификатор может.Так что WHERE c.ticket.id = 751

(На будущее: я сомневаюсь, что вы будете жестко кодировать идентификатор, поэтому используйте именованный параметр)

...