中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 综合文章
EJB-QL 的相关使用
作者:未知 时间:2005-07-27 22:47 出处:CSDN 责编:chinaitpower
              摘要:EJB-QL 的相关使用

昨天在修改过去的J2EE项目时,使用cvs检出时把没有提交到cvs中的修改(包括以前写的,没有提交过的程序)删除了。其中CMP中EJB-QL就没有了,于是只有重写了。县总结如下:
CMP中EJB-QL的使用有以下几部分(缺一不可):
1.在Home接口中定义方法:
      public java.util.Collection findByFileInfo(Integer MagazineNumber)
      throws javax.ejb.FinderException,java.rmi.RemoteException;
2.在Bean中定义abstract get/setXXX方法:
         private EntityContext context;
  public abstract Integer getMagazineNumber();
     public abstract void setMagazineNumber(Integer MagazineNum);
    
     public abstract char getResourseType();
     public abstract void setResourseType(char ResT);
    
     public abstract String getMagazineFileName();
     public abstract void setMagazineFileName(String MagaFN);
    
     public abstract String getTypeNumber();
     public abstract void setTypeNumber(String TypeN);。。。。。
3.与Bean对应在EJB对象中也要定义这些方法,不过要throws java.rmi.RemoteException.
    public interface MagazineInfo  extends javax.ejb.EJBObject{
    public abstract Integer getMagazineNumber() throws java.rmi.RemoteException;
    public abstract void setMagazineNumber(Integer MagazineNum)throws java.rmi.RemoteException;
   
    public abstract char getResourseType()throws java.rmi.RemoteException;
    public abstract void setResourseType(char ResT)throws java.rmi.RemoteException;
   
    public abstract String getMagazineFileName()throws java.rmi.RemoteException;
    public abstract void setMagazineFileName(String MagaFN)throws java.rmi.RemoteException;
   
    public abstract String getTypeNumber()throws java.rmi.RemoteException;
    public abstract void setTypeNumber(String TypeN)throws java.rmi.RemoteException;。。。。
   
4.在ejb-jar.xml中定义cmp中的实体的数据项和EJB-ql语句:
  <entity >
         <---定义实体接口描述-->
         <description><![CDATA[Description for MagazinePossibleInfo]]></description>
         <display-name>Name for MagazinePossibleInfo</display-name>

         <ejb-name>MagazinePossibleInfo</ejb-name>

         <home>bitiDL.managementConsle.magazinePossibleInfoEntity.interfaces.MagazinePossibleInfoHome</home>
         <remote>bitiDL.managementConsle.magazinePossibleInfoEntity.interfaces.MagazinePossibleInfo</remote>
         <local-home>bitiDL.managementConsle.magazinePossibleInfoEntity.interfaces.MagazinePossibleInfoLocalHome</local-home>
         <local>bitiDL.managementConsle.magazinePossibleInfoEntity.interfaces.MagazinePossibleInfoLocal</local>

         <ejb-class>bitiDL.managementConsle.magazinePossibleInfoEntity.ejb.MagazinePossibleInfoCMP</ejb-class>
        <--定义为CMP--->
        <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>MagazinePossibleInfo</abstract-schema-name>
         <--定义各个描述数据项,注意首字母小写,可与大写兼容同义-->
          <cmp-field>
          <field-name>magazineNumber</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>author</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>authorDepartment</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>authordegree</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>speciality</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>retationInfo</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>publishment</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>otherLanguageSummary</field-name>
          </cmp-field>
            <--定义主健-->
          <primkey-field>magazineNumber</primkey-field>
   <!-- Write a file named ejb-finders-MagazinePossibleInfoBean.xml if you want to define extra finders. -->
          <--EJB中方法描述-->
          <query>
             <query-method>
              <method-name>findByPossibleInfo</method-name>
              <method-params>
               <method-param>java.lang.Integer</method-param>
              </method-params>
             </query-method>
           <--EJB-QL语句,可以返回对象,也可以是单个数据项-->
             <ejb-ql>
               <![CDATA[SELECT OBJECT(h) FROM MagazinePossibleInfo AS h WHERE h.magazineNumber = ?1]]> //其中的数字标示是参数的次序,从1开始。
             </ejb-ql>
           </query>
      </entity>

     


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有