;method-name>findByDescription</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM ProductBean AS a WHERE a.description=?1]]>
</ejb-ql>
</query>
<query>
<query-method>
<method-name>findByBasePrice</method-name>
<method-params>
<method-param>double</method-param>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM ProductBean AS a WHERE a.basePrice=?1]]>
</ejb-ql>
</query>
<query>
<query-method>
<method-name>findExpensiveProducts</method-name>
<method-params>
<method-param>double</method-param>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM ProductBean AS a WHERE a.basePrice>?1]]>
</ejb-ql>
</query>
<query>
<query-method>
<method-name>findCheapProducts</method-name>
<method-params>
<method-param>double</method-param>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM ProductBean AS a WHERE a.basePrice<?1]]>
</ejb-ql>
</query>
<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>
</entity>
</enterprise-beans>
<!—以下定义CMP事务类型采用声明事务类型-- >
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>Product</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
<!—end the ejb-jar.xml文件-- >
9、 下面来编写jboss-service.xml文件,这个文件是JBOSS服务器特有的文件,它指明了这个EJB的jndi名称,方便调用EJB。这个文件也放入META-INF目录中:内容如下:
<?xml version="1.0" encoding="gb2312"?>
<jboss>
<enterprise-beans>
<entity>
<ejb-name>Product</ejb-name> <!—ejb-jar.xml文件中指定的ejb-name-- >
<jndi-name>Product</jndi-name> <!-- -- >
</entity>
<secure>true</secure>
</enterprise-beans>
<reource-managers/>
</jboss>
10、 最后,编写jbosscmp-jdbc.xml,这是一个JBOSS中部署CMP实体Bean特有的描述符文件,这个文件描述了实体Bean和数据库表的对应关系,同时它也描述了实体Bean维护的声明字段和数据库表中字段的对应关系及数据类型的对应关系。它也放入META-INF目录中,内容如下,这个文件的解说我放入在文件之中了。
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 3.0//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_0.dtd">
<jbosscmp-jdbc>
<defaults>
<!--数据源的jndi名字,它和deploy目录下的数据源配置文件mysql-ds.xml中的jndi-name对应,如果此项不指定,则默认采用DefaultDS-->
<datasource>java:/MySql</datasource><!--说明让EJB容器采用MySql连接池连接数据库-- >
<!—这一句指出Java中的数据类型和数据库数据类型之间的映射关系,这里指出映射关系采用一个叫mySQL的DataTypeMapping中指定的映射关系,这个mySQL的映射关系己由JBOSS定义好了,它存放在C:JBOSSserv
上一页 [1] [2] [3] [4] [5] [6] 下一页