在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)
版權所有 羅明