做了几天,终于找到答案了,jboss用的是自带的hsqldb数据库,所以client.findByPrimaryKey("CFO")去查找"cfo"时,jboss不在jbuilder中的jdatastore数据库中去找,所以就出现No   such   entity! 的错误.
解决 办法:
1.删除deploy目录下的hsqldb-ds.xml文件,把E:\jboss-4.2.2.GA\docs\examples\jca下的jdatastore-ds.xml复制到deploy目录下,注意,jbuilder 中的数据源名称是java:/DefaultDS,必须和E:\jboss-4.2.2.GA\server\default\conf下的standardjbosscmp-jdbc.xml中的<datasource>java:/DefaultDS</datasource>相匹配.
让我门看下jdatastore-ds.xml的具体内容
<?xml version="1.0" encoding="UTF-8"?><!-- ===================================================================== -->
<!--                                                                       -->
<!--  JBoss Server Configuration                                           -->
<!--                                                                       -->
<!-- ===================================================================== --><!-- $Id: jdatastore-ds.xml 8941 2002-07-22 22:57:24Z d_jencks $ -->
<!-- ==================================================================== -->
<!-- Copy these jar's from your JBuilder6/lib to your jboss's lib         -->
<!--                dx.jar,jdsserver.jar,jds.jar  
这是为了建立jdatastore的驱动     -->
<!--  Originally from Brent Thompson www.protegra.com/javagroup.html      -->
<!-- ==================================================================== -->
<datasources>
  <local-tx-datasource>
    <jndi-name>DefaultDS</jndi-name>
    <connection-url>jdbc:borland:dslocalE:\Borland\JBuilder2006\samples\JDataStore\datastores\employee.jds</connection-url>
    <driver-class>com.borland.datastore.jdbc.DataStoreDriver</driver-class>
    <user-name>adm</user-name>
    <password>888888</password>
  </local-tx-datasource></datasources>2.重新部署和打包就行了
3.建立客户端运行就行了