簡體   English   中英

JPA查詢中的語法錯誤

[英]Syntax error in JPA query

當我執行以下代碼時

return entityManager
            .createQuery("select a from Article where a.slug = ?1", Article.class)
            .setParameter(1, slug)
            .getSingleResult();

我得到以下異常

java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: 
Exception Description: Syntax error parsing the query [select a from Article where a.slug = '?1'], line 1, column 22: syntax error at [where].
Internal Exception: MismatchedTokenException(77!=78)
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1328)

我正在使用帶有EclipseLink 2.0.2的JPA 2。

我的查詢有什么問題?

......來自文章a ...(遺漏別名)

好吧,答案已經給出了..但是我不喜歡JPQL,你必須在實體名稱之后放置一個標識符,但如果你的from子句只有一個實體,則是不可能的。 大多數時候,我也忘記了那個不必要的標識符。 我希望我能寫下面的上述查詢;

select * from Article where slug = ?1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM