В моем приложении, я следующие 2 сущности:EJB QL Синтаксическая ошибка
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Commentable implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
protected Long id;
protected long createdDate;
...
}
@Entity
public class Announcement extends Commentable implements Serializable {
private int type;
private String title;
@Column(columnDefinition = "MEDIUMTEXT")
private String content;
...
}
Когда я пытаюсь получить некоторые строки из таблицы Announcement, я получаю ошибку синтаксиса на следующей строке:
Query q = em.createQuery("SELECT A FROM Announcement A JOIN Commentable C ON A.id = C.id WHERE A.type=:type ORDER BY C.createdDate DESC");
Это StackTrace:
Caused by: Exception [EclipseLink-8023] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.JPQLException
Exception Description: Syntax error parsing the query [SELECT A FROM Announcement A JOIN Commentable C ON A.id = C.id WHERE A.type=:type ORDER BY C.createdDate DESC].
Internal Exception: org.eclipse.persistence.internal.libraries.antlr.runtime.EarlyExitException
Я был бы очень признателен, если бы вы могли сказать мне, что я сделал неправильно здесь.
С наилучшими пожеланиями, Джеймс Tran
Можете ли вы разместить столбцы ошибок? –
Не могли бы вы изменить свой вопрос, чтобы добавить трассировку стека и код объектов Объявление и комментарий? – Pablo
@PauKiatWee done :) –