0

我的代码是从参数 :title 中选择文本。但我得到了不正确的结果。就我而言,书类扩展了媒体。

这是我的查询。

String queryStr = "SELECT DISTINCT(b) FROM Book b, Media m  WHERE lower(m.title) LIKE :title"
TypedQuery<Book> query = em.createQuery(queryStr, Book.class);
if (book.getTitle() != null && book.getTitle() != "")
            query.setParameter("title", "%" + book.getTitle().toLowerCase() + "%");

我的参数是“哈利”。我想只得到 1 个结果,但我得到了我拥有的所有数据。我的代码有什么错误?请帮忙。

4

1 回答 1

1

您应该将 Media 排除在查询之外。JPA 还知道 Book 扩展了 Media,因此它知道从哪里获取书籍的 Media 部分。

于 2012-05-30T16:27:55.377 回答