- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用JPA完成持久化
* 注记可以标示在Field(字段)上,也可以标示在属性的getter方法上。 1。下面的例子在deptNo字段上使用了Id标注,采用了基于字段的访问。 @Entity@Table(name=DEPT)public class Department implements Serializable {????@Id????@Column(nullable=false)????protected Long deptNo;????@Column(name=DNAME)????protected String name; ……. 2。如果要使用基于属性的访问,你需要在属性上使用Id这样的标注。 @Idpublic Long getDeptNo() {????????return deptNo;}public void setDeptNo(Long deptNo) {????????this.deptNo = deptNo;} ……. 3。一个实体中定义的所有字段,默认情况下,都会进行持久化。如果你不想存储某个字段(或者属性),你必须将字段(或者属性)定义成临时的,通过采用@Transient标注或者采用transient修饰符。 * JavaEE增加了重要的包名: Javax.persistence.*; 常用注记,例如@Table,@Id等为其中的接口。 * 关系映射:在一个典型的领域模型中,实体可能互相联系或者存在一定的关系。两个实体之间的关系可能是一对一(one-to-one),一 对多(one-to-many),多对一(many-to-one),多对多(many-to-many)。实体之间的这些关系可以分别使用 OneToOne, OneToMany, ManyToOne, or ManyToMany标注来描述。下面示例在Department和Employee实体上采用了双向的OneToMany关系。@Entity@Table(name=DEPT)public class Department implements Serializable { …… ????@OneToMany(mappedBy=department)????protected CollectionEmployee employees;???????...????public CollectionEmployee getEmployees() {????????return employees;????}??????public void setEmployees(CollectionEmployee employees)????{????????this.employees = employees;????} …… 对于一个双向的关系来说,你必须指定mappedBy元素,就像上面那样,通过指明拥有这个关系的字段名或者属性名来指出反向的关系如何进行映射。 * 1。对比Hibernate讲解基本步骤。JPA深受Hibernate影响,在操作步骤上非常类似。 2。PPT17-21讲解如何添加对象数据。 使用JPA完成对象持久化 * 本章任务 认识JPA 使用JPA实现: POJO用户对象的增加﹑删除和修改操作 基于JPA-QL查询数据 * 了解JPA基本原理 学会使用Annotation编写实体类 学会使用JPA完成数据增加﹑删除﹑修改和查询操作 本章目标 * JPA JPA(Java Persistence API)作为Java EE 5.0平台标准的ORM规范,将得到所有Java EE服务器的支持。 JPA通过JDK5.0注解或XML描述对象——关系表之间的映射关系,并将运行期的实体对象持久化的数据库中。 JPA由EJB3.0软件专家组开发,与EJB3.0有着藕断丝连的关系。 Sun新引入JPA的原因: 简化J2EE和J2SE应用对象持久化的开发工作 Sun希望整合ORM技术,实现天下统一 JPA与EJB3.0 早期的EJB有三种类型的Bean,分别是会话Bean(Session Bean)、实体Bean(Entity Bean)和消息驱动Bean(Message Driven Bean)。 随着EJB 3规范的推出,EJB中的实体Bean(Entity Bean)逐渐被JPA规范所替代,这也正是为什么JPA的规范包含在EJB 3的规范中的原因。但JPA不仅能在EJB环境中使用,也能在J2SE的环境中使用,相对于EJB 2.X中的实体Bean,使用的范围更光阔。 总之,简单的说,JPA虽然出自EJB3,但其使用的范围却大于EJB3,不仅可用在Java EE 5.0的环境中,也可
文档评论(0)