0 Replies Latest reply on Jul 28, 2005 1:16 AM by Ivan Ivan

    EJBQL generate wrong SQL

    Ivan Ivan Newbie

      I use Lomboz eclipse 3.1 (Build-20050722) to develop my EJB application.
      I have made a cmp in eclipse and can deploy to jboss (version 4.0.2) successfully. However, there is an exception when I can call the "findAll()" function in CMP thru' a JSP program.

      11:20:09,734 ERROR [User#findAll] Find failed
      java.sql.SQLException: Table 'irs.xuser' doesn't exist
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2921)
      at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570)
      at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
      at com.mysql.jdbc.Connection.execSQL(Connection.java:2978)

      I haven't defined any sql setting like 'irs.xuser' and I don't know where it comes from. Seems it is generated by xdoclet or EJBQL. Do I mis-set some eclipse or jboss setting ? Is it a bugs of JBOSS4 or what else ? Please help.
      Note :
      "irs" is the mySQL database name of my application and 'user' is the valid table name of my bean

      Below please find my program setting

      import ....
      * @ejb.bean name="User"
      * display-name="Name for User"
      * description="Description for User"
      * jndi-name="ejb/User"
      * type="CMP"
      * cmp-version="2.x"
      * view-type="both"
      * @ejb.persistence table-name = "user"
      * @ejb.transaction type= "Required"
      * @ejb.finder
      * signature="java.util.Collection findAll()"
      * query="SELECT OBJECT(u) FROM User AS u"
      public abstract class UserBean implements EntityBean {

      private EntityContext _context;

      public UserBean() {
      // TODO Auto-generated constructor stub

      <!-- Entity Beans -->

      <![CDATA[Description for User]]>
      <display-name>Name for User</display-name>



      <cmp-field >
      <![CDATA[Getter for CMP Field userid]]>
      <cmp-field >
      <![CDATA[Getter for CMP Field password]]>
      <cmp-field >
      <![CDATA[Getter for CMP Field group]]>

      <ejb-ql><![CDATA[SELECT OBJECT(c) FROM User AS c]]></ejb-ql>

      <!-- Write a file named ejb-finders-UserBean.xml if you want to define extra finders. -->


      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 3.0//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_0.dtd">