SELECT "id" FROM "book" WHERE "bname" = ? 
                          SELECT "id" FROM "book"
                          SELECT "id" FROM "book" WHERE "bname" = ? 这个EJB QL格式对吗?SELECT OBJECT(b) FROM book AS b WHERE b.bname=?1
SELECT OBJECT(b) FROM book AS b 
findByPrimaryKey不需要写QL

解决方案 »

  1.   

    老大,先看看什么叫 EJB QL ! :)
      

  2.   

    你的语句连标准sql都不是!
      

  3.   

    对不起,我用的是j2sdee的deploytool工具。
     Collection findAll();
    findByPrimaryKey(String id);这两个方法的SOL Query是部署工具自动生成的,不是我胡乱写的。
    怎么就不符合EJB QL ??????我的标题上说CMP中的查询异常啊!!各位老大看清楚先啊55555555555555555555
    有听说CMP要自己写EJB QL的吗?
      

  4.   

    没用过j2sdee的deploytool,
    但标准的 EJB QL 不是这个样子的
    这才是一个一般的ql 语句
    SELECT OBJECT(b) FROM book AS b WHERE b.bname = ?1
      

  5.   

    在deploytool中你要去写EJB QL,然后在生成SQL。你写的是没有错啦,不过八成儿不行,懂吗。
      

  6.   

    错误已解决:
    改SELECT "id" FROM "book" WHERE "bname" = ? 
    为SELECT "id" FROM "book" WHERE "bname" = ?1