这看起来很简单,我不敢相信我自己还没有找到解决方案。我有一个名为 PersonBean 的 bean,它有一个名称。现在我想编写一个查找器方法,它接受一个字符串并查找名称中包含该字符串的人,不区分大小写。这是我当前的 EJB QL:
SELECT OBJECT(p)
FROM Person p
WHERE (p.name LIKE ?1)
我有两个问题:
- 我希望搜索不区分大小写(以上区分大小写),并且在 EJB QL 中找不到类似
lower()
or的内容。upper()
我该怎么做才能有这种行为?更新:如果重要的话,我正在使用 J2EE 1.4 版和 glassfish 2.1 版。 - 我必须将一个丑陋的字符串传递给该方法,即
findByString("%john%")
. 有没有办法编写 EJB QL 以便我可以通过类似的东西findByString("john")
?