AppletTalk.com Forum Index AppletTalk.com
Java discussions newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Simple CMP 2.0 Bean will not work please help.

 
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java Help
View previous topic :: View next topic  
Author Message
Phoenix Silver
Guest





PostPosted: Thu Mar 03, 2005 11:18 pm    Post subject: Simple CMP 2.0 Bean will not work please help. Reply with quote



Hi

I have a very simple CMP 2.0 bean where the finder method will not
parse and I almost 100% correct. I will post all of the relevant code
and the exepction if anyone can help that would be great.

Platform
----------
JBoss 4.0.1
Win2000 Pro
IDE Eclipse
Postgres 7.4

---------------------------------------------------------------------------------------------------------------------------------------------
Member table
create table members
(
member_id integer primary key default nextval('seq_uid'),
member_number varchar(50),
access_authorization_id integer,
last_name varchar(50),
first_name varchar(50),
middle_initial varchar(50),
company_name varchar(50),
email varchar(50),
created_by varchar(50),
created_datetime timestamp,
modified_by varchar(50),
modified_datetime timestamp,
active_ind boolean,
valid_ind boolean
);

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

<jbosscmp-jdbc>
<defaults>
<datasource>java:/jdbc/PostgresSS</datasource>
<datasource-mapping>PostgreSQL 7.2</datasource-mapping>
<create-table>false</create-table>
<remove-table>false</remove-table>
</defaults>

<enterprise-beans>
<entity>
<ejb-name>Member</ejb-name>
<table-name>members</table-name>

<cmp-field>
<field-name>memberId</field-name>
<column-name>member_id</column-name>
</cmp-field>
<cmp-field>
<field-name>memberNumber</field-name>
<column-name>member_number</column-name>
</cmp-field>
<cmp-field>
<field-name>lastName</field-name>
<column-name>last_name</column-name>
</cmp-field>
<cmp-field>
<field-name>firstName</field-name>
<column-name>first_name</column-name>
</cmp-field>

<!-- jboss 3.2 features -->
<!-- optimistic locking does not express the exclusions needed -->
</entity>

</enterprise-beans>

</jbosscmp-jdbc>
------------------------------------------------------------------------------------------------------------------------------------------------

ejb-jar.xml
------------------------------------------------------
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">

<ejb-jar >

<description><![CDATA[No Description.]]></description>
<display-name>Generated by XDoclet</display-name>

<enterprise-beans>

<!-- Entity Beans -->
<entity >
<description><![CDATA[Description for Member]]></description>
<display-name>Name for Member</display-name>

<ejb-name>Member</ejb-name>

<local-home>com.ufa.petro.ss.services.member.MemberLocalHome</local-home>
<local>com.ufa.petro.ss.services.member.MemberLocal</local>

<ejb-class>com.ufa.petro.ss.services.member.MemberBean</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>Members</abstract-schema-name>

<cmp-field>
<field-name>memberId</field-name>
</cmp-field>
<cmp-field>
<field-name>memberNumber</field-name>
</cmp-field>
<cmp-field>
<field-name>lastName</field-name>
</cmp-field>
<cmp-field>
<field-name>firstName</field-name>
</cmp-field>

<query>
<query-method>
<method-name>findByLastName</method-name>
<method-params>

<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[ SELECT OBJECT(o) FROM Members AS o
WHERE o.lastName = ?1 ]]>
</ejb-ql>
</query>
<!-- Write a file named ejb-finders-MemberBean.xml if you want
to define extra finders. -->
</entity>

</enterprise-beans>

<!-- Relationships -->

<!-- Assembly Descriptor -->
<assembly-descriptor >

<!-- finder permissions -->

<!-- transactions -->

<!-- finder transactions -->
</assembly-descriptor>

</ejb-jar>

--------------------------------------------------------------------------------------------------------------------------------------------------

MemberLocal.java
--------------------
package com.ufa.petro.ss.services.member;

/**
* Local interface for Member.
*/
public interface MemberLocal
extends javax.ejb.EJBLocalObject
{
String getFirstName();
String getLastName();
}

-----------------------------------------------------------------------------------------------------------------------------------------
MemberLocalHome.java
-----------------------------
package com.ufa.petro.ss.services.member;

import java.util.Collection;

/**
* Local home interface for Member.
*/
public interface MemberLocalHome
extends javax.ejb.EJBLocalHome
{
public static final String
COMP_NAME="java:comp/env/ejb/MemberLocal";
public static final String JNDI_NAME="MemberLocal";

public Collection findByLastName(String i) throws
javax.ejb.FinderException;

public MemberLocal findByPrimaryKey(Integer id) throws
javax.ejb.FinderException;

}
-------------------------------------------------------------------------------------------------------------------------------------------
MemberBean.java
------------------------

public abstract class MemberBean implements EntityBean {

public MemberBean() {
super();
// TODO Auto-generated constructor stub
}

public void setEntityContext(EntityContext ctx)
throws EJBException,
RemoteException {
// TODO Auto-generated method stub

}

public void unsetEntityContext() throws EJBException,
RemoteException {
// TODO Auto-generated method stub

}

public void ejbRemove()
throws RemoveException,
EJBException,
RemoteException {
// TODO Auto-generated method stub

}

public void ejbActivate() throws EJBException, RemoteException {
// TODO Auto-generated method stub

}

public void ejbPassivate() throws EJBException, RemoteException {
// TODO Auto-generated method stub

}

public void ejbLoad() throws EJBException, RemoteException {
// TODO Auto-generated method stub

}
public void ejbStore() throws EJBException, RemoteException {
// TODO Auto-generated method stub

}

public abstract Integer getMemberId();
public abstract void setMemberId(Integer id);
public abstract String getMemberNumber();
public abstract void setMemberNumber(String memberNumber);
public abstract String getLastName();
public abstract void setLastName(String lastName);
public abstract String getFirstName();
public abstract void setFirstName(String firstName);
}
-------------------------------------------------------------------------------------------------------------------------------------------------------
Exception Stack trace
----------------

15:45:30,235 INFO [EARDeployer] Started J2EE application:
file:/D:/Projects/UFA/Pace_Phase_II/Development/jboss-4.0.1/server/default/deploy/SelfService.ear
15:45:33,389 ERROR [Member#findByLastName] Find failed
java.sql.SQLException: ERROR: parser: parse error at or near "FROM"
at character 9
at org.postgresql.core.QueryExecutor.executeV2(QueryExecutor.java:289)
at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:105)
at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:43)
at org.postgresql.jdbc1.AbstractJdbc1Statement.execute(AbstractJdbc1Statement.java:515)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:50)
at org.postgresql.jdbc1.AbstractJdbc1Statement.executeQuery(AbstractJdbc1Statement.java:231)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:296)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:206)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:128)

---------------------------------------------------------------------------------------------------
Here is the client code I'm using to access the finder method


try {
Context context = new InitialContext();

MemberLocalHome home = (MemberLocalHome) context
.lookup(MemberLocalHome.JNDI_NAME);
Collection members = home.findByLastName("Patel");
Iterator i = members.iterator();
while (i.hasNext()) {
MemberLocal member = (MemberLocal) i.next();
System.out.println("************* "
+ member.getFirstName());
}
} catch (Exception e) {
e.printStackTrace();
}
Back to top
Display posts from previous:   
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java Help All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.