动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.设计模式之Flyweight.
.到2004年Java技术发展预测.
.java开源项目研究.
.自定义工具库.
.图文并茂教你如何在Eclipse中看源.
.实战 J2EE 开发购物网站 开发环境.
.开发框架hibernate3.0开发实例.
.使用EJB组件你需要了解些什么呢?.
.使用simpson规则 完成积分运算.
.运用Jakarta Struts的七大实战心.
.java知识:关于String和StringBu.
.应用RMS实现用户自动登陆功能解析.
.Swing指南:Spinner Model Contro.
.Java Reflection (JAVA反射)详解.
.在Oracle JDBC访问中加入Spring特.
.运用 DBUnit 进行高效的单元测试.
.理解Subjects, Principals and .
.WindowsXP下JDK的配置.
.JavaBean入门.
.Java基础 JSP网站开发环境的目录.

Enterprise JavaBeans查询语言(1)

发表日期:2008-1-5 |


Enterprise JavaBeans查询语言(EJB QL)定义了容器治理持续化的finder方法和select方法的查询。作为SQL92的一个子集,EJB QL进行了扩展,它可以使用entity bean的抽象模式中定义的关联。一个EJB QL查询可以跨越封装在同一个EJB JAR文件中的所有相关的entity bean的抽象模式。

你可以在entity bean中部署描述中定义EJB QL查询。典型的情况是,一个工具会将这些查询转换成低层数据存储所使用的查询语言。因为这种转换的存在,使用容器治理持续化的entity bean具有可移植性--它们的代码不受具体的数据存储的类型的影响。

术语

下面列出了本章中用到的一些术语的定义。

1、Abstract schema--抽象模式:一个entity bean的部署描述的一部分,它定义了bean的持续化字段和关联关系。

2、Abstract schema name--抽象模式名:在EJB QL查询中引用的一个逻辑命名。你需要为每个容器治理持续化的entity bean指定一个抽象模式名。

3、Abstract schema type--抽象模式类型:所有的EJB QL表达式都对应一个类型。假如表达式是一个抽象模式名,那么它的类型默认是定义了这个抽象模式名的entity bean的local接口。

4、Backus-Naur Form (BNF)--巴科斯-诺尔范式:一种描述高级语言语法的一种表示法。这一章的语法图表使用了BNF表示法。

5、navigation--跨越:在一个EJB QL表达式中对关联关系的使用。跨越操作符是一个句点。

6、path eXPression--路径表达式:一个跨越到相关entity bean的表达式。

7、persistent field--持续化字段:一个容器治理持续化的entity bean中的一个虚拟字段;它存储在一个数据库中。

8、relationship field--关联字段:一个容器治理持续化的entity bean中的一个虚拟字段;它确定了一个相关的entity bean。

简单的语法

这里简要地描述了EJB QL的语法,这样你可以快速进入下面查询示例的学习。假如你要对此进行更深入的学习,请阅读完整的语法。

一个EJB QL查询由三个子句组成:SELECT子句、FROM子句和WHERE子句,SELECT子句和FROM子句是必选的,而WHERE子句是可选的。下面是一个EJB QL查询的简单BNF定义:

EJB QL :: = select_clause from_clause [where_clause]

ELECT子句定义了对象的类型或查询的返回值。返回类型可是一个local接口、一个remote接口或是一个持续化字段。

FROM子句通过声明一个或多个标识变量定义了查询的范围,这些标识变量可能会在SELECT子句和WHERE子句中被引用。一个标识变量反映了下列元素之一:

1、一个entity bean的抽象模式名

2、一个集合的一个成员,这个集合是一个一对多关系中的多端

WHERE子句是一个限制查询找到的对象或数值的条件表达式。尽管它是可选的,但是绝大多数查询都会有一个WHERE子句。

查询示例

下面的查询来自于RosterApp J2EE应用程序的PlayerEJB entity bean,在第六章中我们对这个应用程序作了介绍。RosterApp中bean之间的关联关系,请参看图6-1。

简单的Finder查询

假如你对EJB QL不熟悉,这些简单的查询将有助于你尽快入门。

示例 1

SELECT OBJECT(p)

FROM Player p

获得的数据:所有队员。

Finder方法: findall()

说明:FROM子句声明了一个名为p的标识变量,其中省略了可选的AS要害字。假如使用了AS要害字,这个子句将是这样的:

FROM Player AS p

Player元素是PlayerEJB entity bean的抽象模式名。因为bean在LocalPlayerHome接口中定义了findall方法,所以这个查询返回的对象具有LocalPlayer类型。

参见: 标识变量

示例 2

SELECT DISTINCT OBJECT(p)

FROM Player p

WHERE p.position = ?1

获得的数据:由finder方法的参数指定位置的队员。

Finder方法: findByPosition(String position)

说明:在一个SELECT子句中,在例如p这样的独立的标识变量前面要加OBJECT要害字。DISTINCT要害字排除了重复的数据。

WHERE子句通过检查队员的position这个PlayerEJB entity bean的持续化字段对获得的队员进行了限制。?1元素表示了了findByPosition方法中的输入参数。

参见: 输入参数, DISTINCT要害字和OBJECT要害字

示例 3


上一篇:EJB设计模式(3) 人气:488
下一篇:Enterprise bean的开发(1) 人气:437
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-8-28 LDV个人相册系统 v1.6.1
2008-8-28 讯时网站管理系统CMS v3.5
2008-8-28 迅易评选管理系统 v9.3
2008-8-28 OpenX(广告管理系统) v2.6.1 多国
2008-8-28 雨点单用户免费留言板 v2.0 Buil
2008-8-28 APJE私服发布系统 v2.1 ASP版
2008-8-28 酷维CMS企业网站程序 v1.0
2008-8-27 风讯dotNETCMS v1.0 SP3 SQL/ACC
2008-8-27 风讯dotNETCMS v1.0 SP3 源码
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵