Это выглядит очень просто, и я не могу поверить, что сам не нашел решение. У меня есть bean с именем PersonBean, у которого есть имя. Теперь я хочу написать метод finder, который берет строку и ищет людей с этой строкой в их имени, без учета регистра. Вот мой текущий EJB QL:нечувствительный к регистру поиск в EJB QL
SELECT OBJECT(p)
FROM Person p
WHERE (p.name LIKE ?1)
У меня есть 2 проблемы с этим:
- Я хочу, чтобы поиск без учета регистра (выше чувствителен к регистру), и я не могу найти что-то вроде
lower()
илиupper()
в EJB QL. Что я могу сделать, чтобы иметь такое поведение? ОБНОВЛЕНИЕ: Я использую J2EE версии 1.4 и glassfish версии 2.1, если это имеет значение. - Мне нужно передать уродливую строку методу, то есть
findByString("%john%")
. Есть ли способ написать EJB QL, чтобы я мог передать что-то вродеfindByString("john")
?
Там нет ничего о JPA в этом вопросе (JPA был введен в Java EE 5 и EJB 3.0). Поэтому, пожалуйста, не помещайте его JPA. –
Я этого не сделал, может быть, кто-то отредактировал, чтобы добавить его. – phunehehe