Sql not generating properly
guix May 4, 2005 11:38 AMHi:
I have jboss 4.0.0 not generating proper sql for this bean:
ejb-jar:
<entity> <display-name>BondStrips</display-name> <ejb-name>BondStripEJB</ejb-name> <abstract-schema-name>BondStrips</abstract-schema-name> <home>com.db.gto.cio.gm.it.madrid.dbsales.ejbs.BondStripHomeRemote</home> <remote>com.db.gto.cio.gm.it.madrid.dbsales.ejbs.BondStripRemote</remote> <ejb-class>com.db.gto.cio.gm.it.madrid.dbsales.ejbs.BondStripBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>com.db.gto.cio.gm.it.madrid.dbsales.ejbs.BondStripPK</prim-key-class> <reentrant>False</reentrant> <cmp-version>2.x</cmp-version> <cmp-field><field-name>bondsId</field-name></cmp-field> <cmp-field><field-name>bondsIdStrip</field-name></cmp-field> <cmp-field><field-name>stripType</field-name></cmp-field> <query> <query-method> <method-name>findByBondsId</method-name> <method-params> <method-param>java.lang.Integer</method-param> </method-params> </query-method> <ejb-ql> <![CDATA[select object(e) from BondStrips as e where e.bondsId = ?1]]> </ejb-ql </query> </entity>
jboss.xml:
<entity> <ejb-name>BondStripEJB</ejb-name> <configuration-name>Standard CMP 2.x EntityBean</configuration-name> <jndi-name>XAdbsalesipaDS/BondStripEJB</jndi-name> <method-attributes> <method> <method-name>get*</method-name> <read-only>true</read-only> </method> </method-attributes> </entity>
jbosscmp-jdbc.xml
<entity> <ejb-name>BondStripEJB</ejb-name> <table-name>bondsstrip</table-name> </entity>
Deployment of the bean does not give any error. but when I call the finder findByBondsId I get the following:
2005-05-04 17:31:00,062 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCDeclaredSQLQuery.CouponPaymentEJB#findByBondsId] Executing SQL: SELECT , bondsId, couponDate FROM SINKINGTABLE WHERE bondsId = ? ORDER BY coupondate 2005-05-04 17:31:00,073 ERROR [org.jboss.ejb.plugins.cmp.jdbc.JDBCDeclaredSQLQuery.CouponPaymentEJB#findByBondsId] Find failed java.sql.SQLException: ORA-00936: missing expression
The debug of the deployment already shows some clues:
2005-05-04 17:25:25,903 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.BondStripEJB] Insert Entity SQL: INSERT INTO BONDSSTRIP (bondsId, bondsIdStrip, stripType) VALUES (?, ?, ?) 2005-05-04 17:25:25,904 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.BondStripEJB] Entity Exists SQL: SELECT COUNT(*) FROM BONDSSTRIP WHERE 2005-05-04 17:25:25,905 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCCommandFactory.BondStripEJB] entity-command: [commandName=default,commandClass=class org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand,attributes={}] 2005-05-04 17:25:25,906 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCRemoveEntityCommand.BondStripEJB] Remove SQL: DELETE FROM BONDSSTRIP WHERE 2005-05-04 17:25:25,921 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.BondStripEJB] Table not create as requested: BONDSSTRIP 2005-05-04 17:25:25,922 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCFindByPrimaryKeyQuery.BondStripEJB#findByPrimaryKey] SQL: SELECT , t0_BondStripEJB.bondsId, t0_BondStripEJB.bondsIdStrip, t0_BondStripEJB.stripType FROM BONDSSTRIP t0_BondStripEJB WHERE 2005-05-04 17:25:25,923 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCQueryManager.BondStripEJB] Added findByPrimaryKey query command for home interface 2005-05-04 17:25:25,924 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.BondStripEJB#findByBondsId] EJB-QL: select object(e) from BondsStrips as e where e.bondsId = ?1 2005-05-04 17:25:25,929 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.BondStripEJB#findByBondsId] SQL: SELECT , t0_e.bondsId, t0_e.bondsIdStrip, t0_e.stripType FROM BONDSSTRIP t0_e WHERE (t0_e.bondsId = ?) 2005-05-04 17:25:25,930 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCFindAllQuery.BondStripEJB#findAll] SQL: SELECT , bondsId, bondsIdStrip, stripType FROM BONDSSTRIP
Any ideas why this is happening?