0

私のコードは、パラメータ: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() + "%");

私のパラメータは「ハリー」です。結果は1つだけだと思いますが、持っているすべてのデータを取得しました。私のコードの間違いは何ですか?助けてください。

4

1 に答える 1

1

Media はクエリから除外する必要があります。JPA は Book が Media を拡張することも知っているため、Book の Media 部分を取得する場所を認識しています。

于 2012-05-30T16:27:55.377 に答える