這看起來非常簡單,我不相信我自己還沒有找到解決方案。我有一個名爲PersonBean的bean,它有一個名字。現在我想編寫一個查找方法,它接受一個字符串並以大小寫不敏感的方式查找名稱中帶有該字符串的人。這是我目前的EJB QL:在EJB中區分大小寫的搜索QL
SELECT OBJECT(p)
FROM Person p
WHERE (p.name LIKE ?1)
我有2個問題是:
- 我希望搜索不區分大小寫(上面是區分大小寫),我無法找到例如EJB QL中的
lower()
或upper()
。我該怎麼做才能做到這一點? 更新:我正在使用J2EE版本1.4和glassfish版本2.1,如果這很重要。 - 我必須將一個醜陋的字符串傳遞給該方法,即
findByString("%john%")
。有沒有辦法編寫EJB QL,以便我可以傳遞類似findByString("john")
的東西?
沒有任何關於JPA在這個問題(JPA已經在Java EE 5的引入和EJB 3.0)。所以請不要使用JPA標記它。 – 2010-08-05 06:53:33
我沒有,也許有人編輯添加它。 – phunehehe 2010-08-05 07:08:54