在EJB3.0代码里直接用select new EntityClass(p.attr1,substring(p.attr2),...) .....报错,说不能识别“(”,估计就是substring后面的“(”,难道是EJB QL没这种语法?
在网上找这样的代码或实现方法未果,查
EJB 3.0规范,里面有一个EJB QL的范式描述,原来在QL里只能在where条件里使用字符串函数,在select new里估计是不行了,后来想到
select new 要调用EntityClass的构造函数来构建EntityClass实例,所以考虑在EntityClass的构造方法里调用substring等方法,实践之,执行成功,mark!
(文章短了点,但如果能解决别人的问题,也是不错的。post完继续写程序,hoho)
版权所有 罗明