SELECT OBJECT(a) FROM Product AS a WHERE name = ?1 改为: SELECT a FROM Product as a WHERE a.name = ?1
SELECT OBJECT(a) FROM Product AS a WHERE name = ?1 在这句话里的Product AS a 和 OBJECT(a) 两个中的a是不是冲突了啊? 你可以把后面的Product AS a 改成 Product AS s或别的试试!!!
SELECT a FROM Product as a WHERE a.name = ?1 等号前后空格要注意,,
While trying to process Query Method Name: findByName Parameter Types: (java.lang.String) EJB Query: SELECT OBJECT(a) FROM Product AS a WHERE name = ?1 ) 这个是EJB QL的错误。是因为在WHERE CLAUSE中没法辨认name是谁的?因为WHERE CLAUSE中也需要字段导航。 所以只需要把以上的ejb ql 改为如下一定ok: SELECT OBJECT(a) FROM Product AS a WHERE a.name = ?1
改为:
SELECT a FROM Product as a WHERE a.name = ?1
在这句话里的Product AS a 和 OBJECT(a) 两个中的a是不是冲突了啊?
你可以把后面的Product AS a 改成 Product AS s或别的试试!!!
等号前后空格要注意,,
Method Name: findByName
Parameter Types: (java.lang.String)
EJB Query: SELECT OBJECT(a) FROM Product AS a WHERE name = ?1
)
这个是EJB QL的错误。是因为在WHERE CLAUSE中没法辨认name是谁的?因为WHERE CLAUSE中也需要字段导航。
所以只需要把以上的ejb ql 改为如下一定ok:
SELECT OBJECT(a) FROM Product AS a WHERE a.name = ?1