网站大量收购独家精品文档,联系QQ:2885784924

18 EJB3.0_实体Bean.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
18 EJB3.0_实体Bean

第18章 EJB3.0:实体 Bean 本课教学内容 实体Bean和ORMapping 编写实体Bean 利用会话Bean操作实体Bean 复杂查询 实体 Bean 和 ORMapping 对象和关系的映射 实体 Bean 和 ORMapping 在 ORMapping 中,Java 对象可称为 PO,一个 PO 对象,一般表示数据表中的一条记录,只是对这个记录的操作可以简化成对这个 Bean 对象的操作,操作之后数据库中的记录相应变化 编写实体 Bean 实体 Bean 的使用,一般需要被部署到 WebLogic 中,并和数据源绑定,因此,首先在WebLogic 中创建一个数据源,JNDI 名称为 DSSchool,连接到该 Oracle 数据库 按照 JavaBean 格式编写 PO 实体 Bean 不需要编写任何接口,只编写一个 Bean 类即可,目录图如下 在 Student 类中添加注释 一个简单的 JavaBean,还不能称之为一个实体 Bean,因此,必须对其进行配置,使得其建立和表的映射。过程为: 由于 Student 可能被远程调用并返回,因此实现 java.io. Serializable 接口 public class Student implements Serializable{ } 在 Student 类中添加注释 在类定义之前,用@Entity声明该类是一个实体 Bean,并用@Table指定映射的表名称 @Entity @Table (name=T_STUDENT) public class Student implements Serializable } 在 Student 类中添加注释 由于实体 Bean 放在内存中被访问时,主键是唯一标识,因此,在主键列对应的属性前,用@Id指定其是主键,用@GeneratedValue指定主键生成方式 在 Student 类中添加注释 主键生成方式有多种,这里选用的是 GenerationType.AUTO。常见的主键生成方式,分别解释如下: GenerationType.TABLE:容器指定用底层的数据表确保唯一 在 Student 类中添加注释 GenerationType.SEQUENCE:使用数据库的 SEQUENCE 列来保证唯一,但是数据库必须支持 SEQUENCE GenerationType.IDENTITY:使用数据库的 INDENTIT 列来保证唯一。但是数据库必须支持 IDENTITY GenerationType.AUTO:由容器挑选一个合适的方式来保证唯一 编写配置文件 通过上面的编写,此实体 Bean 只是和表以及表中的列建立了对应关系,但是,该 Bean需要和数据库进行操作,因此,还需要对数据源进行配置。在 EJB3.0 中,配置数据源的工作,一般是用配置文件 persistence.xml 确定的 编写配置文件 项目结构如图 编写配置文件 persistence.xml 中主要是确定如下几个内容 外界访问该数据源时的 persistence-unit 名称 该持久化单元绑定的 WebLogic 数据源的 JNDI 名称 利用会话 Bean 操作实体 Bean 实体 Bean 的调用 利用会话 Bean 操作实体 Bean 实体 Bean 在其生命周期中,有好几个状态,最常见的是如下两个: 游离(detached)状态:该实体 Bean 已经建立,但是没有和上下文环境发生联系 托管(managed)状态:该实体 Bean 已经建立,已经和上下文环境发生联系 利用会话 Bean 操作实体 Bean EntityManager 进行实体 Bean 操作的函数有如下几个: EntityManager.find(Class,Object):传入一个实体 Bean 类型,以及主键,返回相应的Bean 对象。在服务器内调用该函数,返回的 Bean 处于托管状态 利用会话 Bean 操作实体 Bean EntityManager.persist(Object obj):传入一个实体 Bean 对象,将其数据保存在数据库。注意,默认情况下,此传入的实体 Bean 一定要处于托管状态,否则该函数抛出异常 利用会话 Bean 操作实体 Bean EntityManager.merge(Object obj):传入一个实体 Bean 对象,将其内容更新到数据库。调用该函数之后,该实体 Bean 自动处于托管状态 EntityManager.remove(Object obj):传入一个实体 Bean 对象,将其从数据库中删除 编写会话 Bean 的远程接口 具体代码示例见课本 编写会话

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档