回复:: sgdb(神天月晓) 没有空格,自动生成的findByPrimaryKey方法一样运行都能查询到结果
client.findByPrimaryKey("7421311");
System.out.println("姓名:"+client.getSName());但是通过JBuilder手工添加一个finder 方法--findByName
编译时候就出现上面的问题

解决方案 »

  1.   

    select object(i) from info_table1 as i where i.s_name = ?1
    info_table1 换成你entity bean的名字InfoTable1
      

  2.   

    回复: sgdb(神天月晓) 
    为什么要换呢〉?info_table1是表名呀!换了编译时候还是出错!
    请教!!!!!!!!
      

  3.   

    把查询的SQL语句select object(i) from info_table1 as i where i.s_name = ?1
    替换成空,编译出的错一样呀!真是纳闷了!!!
      

  4.   

    应该是select object(i) from InfoTable1 as i where i.s_name = ?1
    在EJB QL 中不是使用的数据库表名,而是你的实体Bean名字,所以的实体Bean是什么名字就应该放到from后面
      

  5.   

    回复: sleepingsprite()  
    应该是select object(i) from InfoTable1 as i where i.s_name = ?1
    在EJB QL 中不是使用的数据库表名,而是你的实体Bean名字,所以的实体Bean是什么名字就应该放到from后面EJB QL 修改和你所说得一样,但是还是编译出一样的错误!
    其实EJB QL 为空也是可以的吧,编译出同样错误!但是把添加的Finder方法去掉,就可以正常运行,通过findByPrimaryKey("123")方法查询出对应学生的姓名! 添加Finder方法,需要什么特别的设置么???
    谢谢!!!!!
      

  6.   

    关键是这个错误,不知道怎么来的?
    "Cmp.jar": <2005-5-19 上午10时27分12秒 CST> <Warning> <EJB> <BEA-010054> <EJB Deployment: InfoTable1 has a class com.hjq.j2ee.EJB.CMP.InfoTable1Bean that is in the classpath. This class should only be located in the ejb-jar file.> 
      

  7.   

    把你的工程发到我邮箱里[email protected]
      

  8.   

    又回到了一开始的地方,你的classpath里有空格
    D:\D\新建文件夹 (2)\工程2\myomni\lib\weblogic_sp.jar;
    D:\D\新建文件夹 (2)\工程2\myomni\lib\weblogic.jar;
    D:\D\新建文件夹 (2)\工程2\myomni\lib\webservices.jar;
    ...............看看,那么多空格,你的weblogic是不是装在“新建文件夹 (2)”啊?如果是就重装,如果不是,就把相应jar放到没有空格的地方,然后在project里重新引入
      

  9.   

    回复: sleepingsprite() 我已经把工程发到你的邮箱里面,谢谢帮忙看看!
      

  10.   

    info_table 改为database-schema的名字就ok了
      

  11.   

    "Cmp.jar":     select object(i ) from   =>> info_table1 <<=  as i where i.s_name = ?1 你在部署描述里面可以看到一个schema,把info_tablel替换成这个值包你ok