向对象的数据持久化方案JPA的理解 什么是JPA

 我来答
zxh4567
推荐于2016-07-20 · TA获得超过6.1万个赞
知道大有可为答主
回答量:2.2万
采纳率:83%
帮助的人:1.2亿
展开全部
  不管你是否喜欢,数据都是任何一个应用程序中不可缺少的一部分,尤其是哪些面向对象的应用程序。JAVA程序员在处理数据持久层的时候,比较传统的方式是 写一些复杂的SQL查询语句,但是随着应用程序规模的不断增长,这些内容会使得程序变得难以管理。如果能够用面向对象的方式来处理这些查询,充分运用“封 装”、“抽象”、“继承”和“多态”等特性,这将是多么美妙的一件事情啊。

  事实上,JAVA社区已经开发出很多种面向对象的方式来处理数据持久化:EJB,JDO,Hibernate还有Toplink都是非常不错的解决这一问题的方案。而JPA , 则是java EE 5规定的标准的持久化应用程序接口。JPA规范一开始是作为JSR 220:EJB 3.0规范的一部分,目的是简化EJB中实体bean编程模型。尽管它和Java EE 5.0中的实体bean相关,但是在容器之外,在java SE环境中,JPA也是可以使用的。

  在这篇文章中,你将会看到,借助于JPA 中的标注,使用面向对象的方式处理数据持久化,是多么的简洁和优雅。这篇文章面向的读者是那些JPA的初学者,同时需要掌握一些基本的关系型数据库 概念以及熟悉JAVA 5中的标注。JPA需要JAVA 5或者更高版本,因为它大量使用了JAVA中的新特性,比如标注和泛型。

  OpenJPA 以及样例程序

  在这篇文章中,我们将使用OpenJPA 来 进行演示,它是由Apache组织提供的一个JPA规范的具体实现。我之所以选择OpenJPA而不是其他供应商的产品,主要是因为它被集成在 Weblogic、WebSphere和Geronimo等应用服务器当中。在我撰写本文的时候,OpenJPA的最新版本是1.0.1,可以通过Resources section 这个链接来下载。如果你想使用其他的JPA实现,那么很明显你首先要读一读相关文档。

  在本文余下的部分当中,我将通过一个例子向您介绍JPA 中的各种概念。这个例子是基于一个名叫XYZ的超市,既有网上店铺也有实体零售店。一开始,你将了解到如何使用JPA对客户模型进行CRUD操作。在后面的部分,你将了解到如何通过对象继承的方式来扩展CRUD操作。

  本文代码包 包含了实体监听器以及文章中讨论的三种继承类型(单表、连接、每个类一个表)的代码。

  JPA : 如何使用?

  为了实现一个JPA 兼容的程序,你需要如下三样东西:

  一个实体类
  一个 persistence.xml 文件
  一个功能类,用于完成插入、更新或者查找一个实体
  JPA 只能用于处理数据持久化,下面让我们来看看如何通过JPA来设计数据的存储方式。假设你已经有一个 CUSTOMER 表, 如表1 所示
百度网友9308069
2014-12-30 · TA获得超过1万个赞
知道大有可为答主
回答量:3947
采纳率:89%
帮助的人:1878万
展开全部
JPA把Java的对象自动地保存在数据库里,代替了原来手写SQL进行增删查改crud操作。
大大提高开发效率。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式