select object(t) from StudCourBean as t  where student_id=?1

SELECT OBJECT(t) FROM StudCourBean t WHERE t.student_id = ?1

解决方案 »

  1.   

    这个问题任何一个入门ejb的都会,根本用不着高手的 :)
      

  2.   

    呵呵,也不是大小写的问题.主要是你的student_id=?1
    有两个错误
    一个是要 t.student_id
    另一个是等号前后要加空格 ..
    正确的就是 t.student_id = ?1
    关键字的大小写好像无所谓吧:)
    当然参数的大小写一定要正确!!!
      

  3.   

    nod查询的时候说明一下表名,然后再说字段名
      

  4.   

    我已经按照上面的做法改正了,但是仍然出现下面的问题。
    "choose.ejbgrpx": C:\bea\jdk131_03\bin\javaw -classpath "C:\bea\weblogic700\server\lib\weblogic.jar;D:\Oracle\Ora81\jdbc\lib\classes12.zip;"  weblogic.ejbc -keepgenerated -compiler C:/JBuilder7/bin/bcjW E:/调试/choosec/EJB_PRO/choose.jar.jar E:/调试/choosec/EJB_PRO/choose.jar"choose.ejbgrpx": ERROR: Error from ejbc: Error while reading 'META-INF/weblogic-cmp-rdbms-jar.xml'. The error was:
    "choose.ejbgrpx":  
    "choose.ejbgrpx": weblogic.ejb20.cmp.rdbms.finders.IllegalExpressionException:
    "choose.ejbgrpx": While trying to process Query
    "choose.ejbgrpx": Method Name: findByStudentId
    "choose.ejbgrpx": Parameter Types: (java.lang.String)
    "choose.ejbgrpx": EJB Query: SELECT OBJECT(t) FROM StudCour t WHERE t.student_id = ?1
    "choose.ejbgrpx": )
    "choose.ejbgrpx": Invalid Identifier in EJB QL expression: The Identifier 'student_id' is neither a cmp-field nor a cmr-field, please re-examine your Query.
    "choose.ejbgrpx": weblogic.ejb20.cmp.rdbms.finders.IllegalExpressionException:
    "choose.ejbgrpx": While trying to process Query
    "choose.ejbgrpx": Method Name: findByCourseId
    "choose.ejbgrpx": Parameter Types: (java.lang.String)
    "choose.ejbgrpx": EJB Query: SELECT OBJECT(t) FROM StudCour t WHERE t.course_id = ?1
    "choose.ejbgrpx": )
    "choose.ejbgrpx": Invalid Identifier in EJB QL expression: The Identifier 'course_id' is neither a cmp-field nor a cmr-field, please re-examine your Query.
    "choose.ejbgrpx": ERROR: ejbc found errors
      

  5.   

    Parameter Types: (java.lang.String)
    "choose.ejbgrpx": EJB Query: SELECT OBJECT(t) FROM StudCour t WHERE t.course_id = ?1
    你把course_id设成String了
      

  6.   

    t.course_id t后面是你的实体bean里的名字,不是你的字段名...
    如果不是你改的,应该第一个字母大写的,而且没有横杠,你看一下你的实体bean里这个名字是什么???