У меня есть класс MovieElement, URL поля, который является идентификатором, и другое имя поля.
Просто для тестирования значения name и url совпадают.
Объект сохраняется с именем & url = "www.test.com"
Но я не могу получить подстановочный знак, я попытался запрос, как:
query = em.createQuery("SELECT m FROM MovieElement m WHERE m.name LIKE :keyword");
query.setParameter("keyword", "%test%");
query.getResultList();
Это дает пустой результат.
Но работает следующее:
query = em.createQuery("SELECT m FROM MovieElement m WHERE m.name LIKE :keyword");
query.setParameter("keyword", "www.test.com");
query.getResultList();
Даже все последующие из них приводят к нулю:
MovieElement el = em.find(MovieElement.class, "%test%");
query = em.createQuery("SELECT m FROM MovieElement m WHERE m.name LIKE :keyword");
query.setParameter("keyword", "www.test.co_");
query.getResultList();
query = em.createQuery("SELECT m FROM MovieElement m WHERE m.name LIKE :keyword");
query.setParameter("keyword", "%");
query.getResultList();
Из-за последнего запроса кажется, что код не учитывает подстановочный знак.
Далее я использую DataNucleus и MongoDb.
Есть идеи? Thx!