我的代码是从参数:title中选择文本。但我得到的结果是不正确的。就我而言,Book 类扩展了 Media。
这是我的查询。
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() + "%");
我的参数是“harry”。我想只得到 1 个结果,但我得到了我拥有的所有数据。 我的代码有什么错误?请帮忙。
最佳答案
您应该将 Media 排除在查询之外。 JPA 还知道 Book 扩展了 Media,因此它知道从哪里获取书籍的 Media 部分。
关于java - 就像 SQL 中的函数和 JPA 一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10819753/