随笔分类 -  OPENJPA

摘要:http://www.oschina.net/question/129540_20547 阅读全文
posted @ 2012-03-16 00:37 saintaxl 阅读(211) 评论(1) 推荐(0) 编辑
摘要:在本系列文章的第 1 部分:OpenJPA 与 EJB 3.0中介绍 OpenJPA 时,曾经提到“OpenJPA 可以作为独立的持久层框架发挥作用,也可以轻松的与其它 Java EE 应用框架或者符合 EJB3.0 标准的容器集成”,在本系列的前面几篇文章中都只是讲解了如何将 OpenJPA 作为独立的持久层框架发挥作用,在本文中,我们将会了解如何在 JBoss 应用服务器中使用 OpenJPA 开发实体 Bean、并且用 SessionBean 封装实体 Bean 操作、在客户端通过 Local 接口访问的开发、部署过程。融入 Java EEOpenJPA 是标准的 JPA 框架,因此它能 阅读全文
posted @ 2012-01-23 22:39 saintaxl 阅读(743) 评论(0) 推荐(0) 编辑
摘要:关于 Eclipse Dali JPA 工具Dali JPA Tools 是由 Eclipse.org 推出、支持 JPA 项目开发的插件,主要目标是为用户开发、编辑 EJB 3.0 中 JPA 实体的映射关系提供可视化工具支持。Dali 是 Eclipse WTP(Web Tools Platform)工具集中的一部分,这是由 Eclipse.org 提供、支持 Web 应用和 Java EE 应用开发的工具集。目前 Dali 的最新版本是 1.0,它是 WTP 2.0 的一部分,不提供独立下载。Dali 1.0 支持 Eclipse 3.3 版本和 WTP 2.0 版本。本文中所有描述均是 阅读全文
posted @ 2012-01-23 22:21 saintaxl 阅读(664) 评论(0) 推荐(0) 编辑
摘要:企业应用开发过程中,经常会存在这样的需求:当企业应用中的某些数据被增加、删除、修改时,引发一些特定的动作,完成企业应用中的一些特别的要求,比如企业应用中要完成数据操作日志、处理数据之间的某种关系、或者是完成一些局部的统计工作等。通常情况下,开发者有两种选择:开发者提供独立的代码来处理这种需求;使用关系型数据库中的“触发器”技术 , 让开发者指定在特定表中添加、删除、修改数据时引发特定的动作,完成数据库中数据的处理。然而这两种方式都有一定的局限性,在第 1 种方式中,特别设计的代码和主体程序之间的耦合性较高,无法独立维护,很难复用;第 2 种方式仅仅适用于关系型数据库开发的情况,开发方式比较受局 阅读全文
posted @ 2012-01-23 22:05 saintaxl 阅读(317) 评论(0) 推荐(0) 编辑
摘要:数据的唯一性是所有应用程序非常基本的要求,由开发者或者用户来维护这种唯一性存在着较大的风险,因此,由系统自动产生唯一标识是一种常见的做法。OpenJPA 中支持四种不同的实体标识自动生成策略:容器自动生成的实体标识;使用数据库的自动增长字段生成实体标识;根据数据库序列号(Sequence)技术生成实体标识;使用数据库表的字段生成实体标识;这四种方式各有优缺点,开发者可以根据实际情况进行选择。可选择的注释要让容器和数据库结合管理实体标识的自动生成,根据实际情况的不同,开发者可以选择javax.persistence.*包下面的GeneratedValue、SequenceGenerator、Ta 阅读全文
posted @ 2012-01-23 22:03 saintaxl 阅读(555) 评论(0) 推荐(0) 编辑
摘要:对象和对象之间除了继承关系之外,还存在着关联关系:包括一对一、一对多、多对一和多对多关系,在 OpenJPA 框架下,开发者只需要使用javax.persistence.OneToOne这样的注释,并提供相应的配置内容,就可以轻松的实现实体之间的关联关系,并且能够实现实体的级联创建、更新和删除。本文中我们将以实体之间的一对一关联关系为例,深入地讲述如何使用 OpenJPA 框架提供的注释,实现企业应用中实体之间的关联关系。文中将提供一个简单的例子,详细的说明如何定义类和类之间的一对一关联关系的步骤,同时会重点讲述这些注释所支持的属性。一对多、多对一和多对多这三种关联关系在 OpenJPA 中的 阅读全文
posted @ 2012-01-23 21:51 saintaxl 阅读(446) 评论(0) 推荐(0) 编辑
摘要:面向对象和关系型数据库Java 语言天生就是一门面向对象的编程语言,在 Java 世界中,被处理的内容都被组织成一个一个的对象,对象和对象之间存在着继承、引用关系,这样的关系无法通过简单的方式直接映射到关系型数据库中。因此在关系型数据库与面向对象之间存在着阻抗失谐。我们通过一个简单的例子来说明这种阻抗失谐给企业应用开发者带来的困难。假设在企业应用中存在三个 Java 类:Animal、Fish 和 Dog。Animal 仅仅具备两个属性:id 和 name。Fish 是一种 Animal,但是人们比较关注它的生活区域是在海里还是在河里,因此它除了继承自 Animal 之外,还有自己独特的属性 阅读全文
posted @ 2012-01-23 21:39 saintaxl 阅读(406) 评论(0) 推荐(0) 编辑
摘要:在上一部分中,我们了解了 EJB 3.0 标准和 OpenJPA 的基本特性,现在我们将开始讲述如何使用 OpenJPA 开发企业应用。本文中,我们将假设有一个 Animal 对象,在某一个应用场景中,我们需要使用 OpenJPA 框架提供的工具和接口完成 Animal 对象的持久化、属性修改、删除、查找功能。本文将通过简单的文字和代码描述使用 OpenJPA 开发的步骤和方法,以及开发过程中如何使用 OpenJPA 提供的工具协助完成开发任务。下载及安装 OpenJPA支持环境准备由于 OpenJPA 是基于注释机制的框架,这需要用到 JDK 5.0 或者以上版本,因此请确保在工作机器上已经 阅读全文
posted @ 2012-01-23 20:32 saintaxl 阅读(799) 评论(0) 推荐(0) 编辑
摘要:简介:Java Persistence API(JPA)是 EJB 3.0 新引入的数据持久化编程模型,它利用 Java 5 中的注释(Annotation)和对象/关系映射,为数据持久化提供了更简单、易用的编程方式。本系列文章将全面介绍其开源实现 — Apache OpenJPA,将为学习 JPA 标准和使用 OpenJPA 进行实际的应用开发提供详细的指南。本文是系列文章的第一部分,概述了关系型数据库和面向对象之间的阻抗失谐(impedance mismatch),介绍了 EJB 3.0 JPA 标准的相应解决方案,并对 OpenJPA 进行了初步介绍。关系型数据库与面向对象几乎所有的企业 阅读全文
posted @ 2012-01-23 15:47 saintaxl 阅读(558) 评论(0) 推荐(0) 编辑