Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Jboss CMP2 with Oracle8

2 views
Skip to first unread message

Carro

unread,
Feb 5, 2003, 3:11:44 PM2/5/03
to
Help me!!! I work with JBoss 3.0.4 and Oracle 8.1.6 and I do not
succeed to make to work correctly a simple entity bena CMP
The code generated automatically from the container for the finder by
primary key is not correctly ended. Why?

My table is:

CREATE TABLE egor.Version
(
ID NUMBER(10) NOT NULL,
DESCRIZIONE VARCHAR2(255) NOT NULL,
CONSTRAINT PK_TEST1 PRIMARY KEY (id)
);


This is JBOSS log

2003-02-05 20:46:54,809 DEBUG
[org.jboss.ejb.plugins.cmp.jdbc.JDBCFindByPrimaryKeyQuery.TestCmpEntityEJB.findByPrimaryKey]
Executing SQL: SELECT FROM TABLETEST1 WHERE
2003-02-05 20:46:54,809 DEBUG
[org.jboss.ejb.plugins.cmp.jdbc.JDBCFindByPrimaryKeyQuery.TestCmpEntityEJB.findByPrimaryKey]
Find failed
java.sql.SQLException: ORA-00936: espressione mancante

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:595)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:1600)
at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:1758)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1805)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:322)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:280)
at org.jboss.resource.adapter.jdbc.local.LocalPreparedStatement.executeQuery(LocalPreparedStatement.java:289)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:112)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntityCommand.execute(JDBCFindEntityCommand.java:44)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.findEntity(JDBCStoreManager.java:541)
at org.jboss.ejb.plugins.CMPPersistenceManager.findEntity(CMPPersistenceManager.java:336)
[...]

My XML configuration file:

<ejb-jar>
<enterprise-beans>
<entity>
<description>Test Entity Bean ( Container-managed Persistence
)</description>
<display-name>TestCmpEntityEJB</display-name>
<ejb-name>TestCmpEntityEJB</ejb-name>
<home>carro.test.ejb.entity.cmp.TestCmpEntityEJBHome</home>
<remote>carro.test.ejb.entity.cmp.TestCmpEntityEJB</remote>
<ejb-class>carro.test.ejb.entity.cmp.TestCmpEntityEJBBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>TableTest1</abstract-schema-name>
<cmp-field><field-name>id</field-name></cmp-field>
<cmp-field><field-name>descrizione</field-name></cmp-field>
<primary-field>id</primary-field>
<security-identity><use-caller-identity/></security-identity>
</entity>
</enterprise-beans>
</ejb-jar>

<jboss>
<enterprise-beans>
<entity>
<ejb-name>TestCmpEntityEJB</ejb-name>
<jndi-name>test/ejb/entity/TestCmpEntityEJBHome</jndi-name>
</entity>
</enterprise-beans>
</jboss>

<jbosscmp-jdbc>

<defaults>
<datasource>java:/OracleDS</datasource>
<datasource-mapping>Oracle8</datasource-mapping>
</defaults>

<enterprise-beans>
<entity>
<ejb-name>TestCmpEntityEJB</ejb-name>
<table-name>TABLETEST1</table-name>
<cmp-field>
<field-name>id</field-name>
<column-name>ID</column-name>
</cmp-field>
<cmp-field>
<field-name>descrizione</field-name>
<column-name>DESCRIZIONE</column-name>
</cmp-field>
</entity>
</enterprise-beans>
</jbosscmp-jdbc>

and my source code:


public interface TestCmpEntityEJB extends EJBObject
{

/* business method for CMP field (not for primary key)
is not necessary in Remote Interface. */
public String getDescrizione() throws RemoteException;

}

public abstract class TestCmpEntityEJBBean implements EntityBean
{
public EntityContext entityContext;

/* Method for CMP field */
/* ... for primary key */
public abstract Integer getId();
public abstract void setId(Integer id);
/* ... for other CMP field */
public abstract String getDescrizione();
public abstract void setDescrizione(String desc);

public Integer ejbCreate(Integer id, String desc) throws
CreateException
{
/* primary key setting */
this.setId(id);
/* CMP field setting */
this.setDescrizione(desc);
return null;
}

public void ejbPostCreate(Integer id, String description)
{
}

[...]
}

public interface TestCmpEntityEJBHome extends EJBHome
{
/* create has the same signature of ejbCreate in bean class */
TestCmpEntityEJB create(Integer id, String desc) throws
RemoteException, CreateException;

TestCmpEntityEJB findByPrimaryKey(Integer primaryKey) throws
RemoteException, FinderException;

Collection findAll() throws RemoteException, FinderException;
}

0 new messages