Topic: 求助:关于jboss发布cmp的问题

  Print this page

1.求助:关于jboss发布cmp的问题 Copy to clipboard
Posted by: tozx96
Posted on: 2003-07-12 10:52

我在jboss-3.2.0_tomcat-4.1.24/jbuilder7/ms sqlser 200下开发实体bean(cmp1.0),遇到了困难,求助各位高手。我把我的过程描述一下,请大家帮我看看我错在哪里。
具体过程如下:
数据库驱动程序、datasource、以及jbuilder7关于jboss的配置业都按一些文章的步骤做了,在jbuilder7中新增实体bean时也都能打开表,但在发布成功后运行时,能create该实体bean,而且再创建时也会提示主键重复,findByPrimeKey也能找到,但不知创建的数据库记录是存到哪里,不在我所希望的那个表里。如果我通过datasource获取Connection,再通过sql语句对数据库表操作又都是对的,的确是针对我所希望的表操作。另外,jbuilder7为我生成的ejb实施描述符是ejb-jar.xml、jboss.xml、jaws.xml,里面没有关于实体bean的<table-name>标记,由于运行实会提示出错,所以我就手工添加了<table-name>标记。
另外,我想问一下,jbosscmp-jdbc.xml是不是只有cmp2.0才有?
jboss中cmp1.0的finder方法如下这样写对吗?
<finder>
<name>findByName(java.lang.String name)</name>
<query>where person_id = :name</query>
<order/>
</finder>
是不是要用ejb-ql标记写。
谢谢各位,谢谢。

2.Re:求助:关于jboss发布cmp的问题 [Re: tozx96] Copy to clipboard
Posted by: tozx96
Posted on: 2003-07-12 19:41

问题是处在我没有在jaws.xml文件中指定<defaults>标记,于是就连到了jboss默认的数据库了,我如下指定了<defaults>标记就可以了。
<defaults>
<datasource>java:/chras</datasource>
<datasource-mapping>MS SQLSERVER2000</datasource-mapping>
<create-table>true</create-table>
<remove-table>false</remove-table>
<pk-constraint>true</pk-constraint>
<preferred-relation-mapping>foreign-key</preferred-relation-mapping>
</defaults>
但现在有另一个问题,就是实体bean的create、findByPrimeKey方法都能正确运行,但其它的finder方法不能正确运行,返回的记录数都是0条,是不是我的jaws.xml实施描述符中的定义有问题?我的定义如下:
<finder>
<name>findByIdCard(java.lang.String idCard)</name>
<query>where id_card = :idCard</query>
<order/>
</finder>
问题是出在这里吗?请大虾帮助。谢谢。

3.Re:求助:关于jboss发布cmp的问题 [Re: tozx96] Copy to clipboard
Posted by: bruce
Posted on: 2003-07-12 22:25

In ejb-jar.xml file,

you can use the query like this

<query>
<query-method>
<method-name>findAllProducts</method-name>
<method-params>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM ProductBean AS a WHERE a.productID IS NOT NULL]]>
</ejb-ql>
</query>

4.Re:求助:关于jboss发布cmp的问题 [Re: tozx96] Copy to clipboard
Posted by: tozx96
Posted on: 2003-07-13 18:38

谢谢。
不过你说得好象是CMP2.x的情况,我后来找到了jboss的cmp1.x的规范,形如:
<finder>
<name>findByPrimaryKey1</name>
<param-name>java.lang.String</param-name>
<param-name>java.lang.String</param-name>
<query><![CDATA[where person_id = {0} and id_card = {1}]]></query>
<order/>
<load-state>True</load-state>
</finder>

5.Re:求助:关于jboss发布cmp的问题 [Re: tozx96] Copy to clipboard
Posted by: tozx96
Posted on: 2003-07-13 18:40

还有,这段描述符是在jaws.xml文件中。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923