【发布时间】:2021-12-26 04:17:07
【问题描述】:
我对带有连接子句的简单 SELECT 查询有疑问。
我正在尝试获取 Author 及其书籍列表。 我的查询看起来像:
public Author findAuthorWithBooks(Integer authorId) {
return (Author) em.createQuery("SELECT a FROM Author a LEFT JOIN a.books WHERE a.id = :authorId")
.setParameter("authorId", authorId)
.getSingleResult();
}
但是当代码运行时我得到ArgumentException: Encounter "" at character xx, but expected: []
简化的实体如下所示:
public class Author {
@OneToMay(mappedBy = "author", fetch=LAZY)
private Collections<Book> books;
}
public class Book {
@ManyToOne(fetch=LAZY)
@JoinColumn(name="AUTHOR_ID")
private Collections<Book> books;
}
我想我犯了一些非常愚蠢的错误,但我找不到它。
【问题讨论】: