[英]JPA JOIN Query issue
我正在嘗試JPA查詢,但以下查詢始終出現錯誤
SELECT p
FROM usertype_permissions up
JOIN permissions p ON up.PERMISSION_ID = p.ID
WHERE up.USERTYPE_ID = 1
錯誤:
Caused by: java.lang.IllegalArgumentException: An exception occurred while
creating a query in EntityManager:
Exception Description: Syntax error parsing the query
[SELECT p
FROM usertype_permissions up
JOIN permissions p ON up.PERMISSION_ID = p.ID
WHERE up.USERTYPE_ID = 1].
在JPQL中,您必須使用實體名稱(默認情況下是Java類的名稱),對我來說usertype_permissions
是實體名稱/ Java類看起來很奇怪。
看起來您正在使用表名,並且連接后的單詞必須引用類的屬性,例如l.books
例:
@Entity
public class Lib implements Serializable {
@OneToMany
private Set<Book> books;
}
@Entity
public class Book implements Serializable {
@OneToOne
private Lib lib;
}
JPQL查詢如下所示:
SELECT l FROM Lib JOIN l.books books
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.