EJB JPA数据库持久层开发实践详解
基本信息
编辑推荐
基于理论,注重实践。避免了大量的理论罗列,先使读者有了一定的感性认识,再继续深入,上升到理性,符合学习知识的客观过程。
内容翔实,实例丰富。不仅对JPA的理论进行了详细的讲解,而且辅以大量实例,使读者可以边学技术,边进行实践。
注重实际,应用为王。精心挑选的大量示例程序都是作者在实际开发中的经验总结,涵盖了实际开发中可能遇到的各种问题。
取材广泛,内容充实。覆盖JPA技术的各个方面,从最基本的简单概念到JPA高级应用的相关技术,再到JPA结合各种框架的使用,是对JPA内容体系的整体总结。
注重基础,高于基础。不仅对基础知识进行详解,还大量讲述了其基本实现原理。使读者不仅知道如何应用,而且能理解最本质的内容,从而便于以后更深入地学习。
内容简介回到顶部↑
本书全面介绍了jpa(java persistence api)的相关知识。全书共分4篇,第1篇介绍了jpa产生的背景及jpa的运行环境、流行的开发工具ide等;第2篇介绍了 jpa基本知识,包括映射实体、映射实体关系、实体管理器及jpql的相关知识;第3篇进一步介绍了关于jpa的高级应用,包括持久化上下文、xml映射文件、打包和部署、jpa实现框架和与spring集成等;第4篇介绍了三个完整案例,分别是学生成绩管理系统(servlet+jpa)、宠物商店(swing+jpa)、博客系统(struts2+spring2+jpa)。
本书结构清晰,注重实战,深入浅出,非常适合jpa开发人员学习使用,同时也可用做高校相关专业师生和社会培训班的教材。
本书结构清晰,注重实战,深入浅出,非常适合jpa开发人员学习使用,同时也可用做高校相关专业师生和社会培训班的教材。
作译者回到顶部↑
本书提供作译者介绍
冯曼菲擅长Java企业级应用开发,拥有丰富的JavaEE企业级项目构建的经验,曾参与用友移动商街、M-ERP平台的技术架构的设计和开发。在多年从事大型项目的开发过程中积累了丰富的实战经验,并对UML、设计模式等都有较为深入的理解和应用,理论功底深厚,实践经验丰富。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
第一篇 初识jpa
第1章 jpa概述
1.1 什么是数据持久化
1.2 java持久化技术
1.2.1 序列化(serialization)
1.2.2 jdbc
1.2.3 关系对象映射(orm)
1.2.4 对象数据库(odb)
1.2.5 java数据对象(jdo)
1.2.6 ejb 2.x
1.3 jpa(java persistence api)概述
1.3.1 什么是jpa
1.3.2 jpa的历史
1.3.3 下载jpa规范
1.3.4 jpa的优势
1.3.5 ejb 3与jpa的关系
1.3.6 常见的实现jpa的框架
1.4 对象关系映射(orm)
1.4.1 什么是对象关系映射
1.4.2 对象关系映射模式
第1章 jpa概述
1.1 什么是数据持久化
1.2 java持久化技术
1.2.1 序列化(serialization)
1.2.2 jdbc
1.2.3 关系对象映射(orm)
1.2.4 对象数据库(odb)
1.2.5 java数据对象(jdo)
1.2.6 ejb 2.x
1.3 jpa(java persistence api)概述
1.3.1 什么是jpa
1.3.2 jpa的历史
1.3.3 下载jpa规范
1.3.4 jpa的优势
1.3.5 ejb 3与jpa的关系
1.3.6 常见的实现jpa的框架
1.4 对象关系映射(orm)
1.4.1 什么是对象关系映射
1.4.2 对象关系映射模式
前言回到顶部↑
JPA(Java Persistence API)是Sun官方提出的Java持久化规范,从目前开发社区的反映看,JPA受到了极大的支持和赞扬,JPA作为ORM领域标准化整合者,大有统一Hibernate 、TopLink,以及OpenJPA等框架之势。.
为了帮助读者全面地了解JPA的知识体系,笔者精心编著了本书。本书依照一般的学习规律,首先介绍JPA的历史、基本概念和开发环境的搭建;在读者掌握了这些基本概念的基础上,再深入地讲解JPA各种映射的配置、JPQL查询语句和涉及JPA的各种技术知识;最后结合不同的框架,以三个典型的应用系统实例帮助读者真正掌握JPA的实战开发。 本书严格遵循由浅入深、循序渐进的原则,并结合大量的代码实例讲述具体知识。
本书内容
本书共分为4篇,在内容的组织和编排上进行了精心的安排,具体内容如下:
本书特色
1.基于理论,注重实践:本书对知识点的讲述都是从代码出发,然后基于代码深入剖析涉及的理论知识。这样做的好处是,避免了大量的理论罗列,而是先使读者有了一定的感性认识,再继续深入,上升到理性,符合学习知识的客观过程。
2.内容翔实,实例丰富:本书不仅对JPA的理论进行了详细的讲解,而且辅以大量实例。使读者可以边学技术,边进行实践。
3.注重实际,应用为王:笔者精心挑选了大量的示例程序,它们都是笔者在实际开发中的经验总结,涵盖了在实际开发中可能遇到的各种问题。
4.取材广泛,内容充实:本书覆盖JPA技术的各个方面,从最基本的简单概念到JPA高级应用的相关技术,再到JPA结合各种框架的使用。本书内容涵盖JPA的各个方面,是对JPA内容体系的整体总结。..
5.注重基础,高于基础:本书不仅对基础知识进行了讲解,而且还大量讲述了其基本实现原理。不仅告诉读者如何做,而且告诉读者为什么这样做。这样使读者不仅知道如何应用,而且能理解最本质的内容,从而便于以后更深入地学习。
6.配有学习论坛http://www.rzchina.net:读者可以在上面讨论技术,笔者会及时回答读者提问,并提供各种技术文章,帮助读者提高开发水平。
适合的读者
本书具有知识全面、实例精彩、指导性强的特点,力求以全面的知识及丰富的实例来指导读者透彻地学习JPA的各方面技术。本书可以作为JPA的入门书籍,也可以帮助中级读者提高技能,同时对高级读者也有一定的启发意义。 ...
Java开发人员
Java开源项目爱好者
JPA开发人员
Hibernate、OpenJPA、Toplink开发人员
Java EE 5开发人员
EJB 3开发人员
编者
为了帮助读者全面地了解JPA的知识体系,笔者精心编著了本书。本书依照一般的学习规律,首先介绍JPA的历史、基本概念和开发环境的搭建;在读者掌握了这些基本概念的基础上,再深入地讲解JPA各种映射的配置、JPQL查询语句和涉及JPA的各种技术知识;最后结合不同的框架,以三个典型的应用系统实例帮助读者真正掌握JPA的实战开发。 本书严格遵循由浅入深、循序渐进的原则,并结合大量的代码实例讲述具体知识。
本书内容
本书共分为4篇,在内容的组织和编排上进行了精心的安排,具体内容如下:
本书特色
1.基于理论,注重实践:本书对知识点的讲述都是从代码出发,然后基于代码深入剖析涉及的理论知识。这样做的好处是,避免了大量的理论罗列,而是先使读者有了一定的感性认识,再继续深入,上升到理性,符合学习知识的客观过程。
2.内容翔实,实例丰富:本书不仅对JPA的理论进行了详细的讲解,而且辅以大量实例。使读者可以边学技术,边进行实践。
3.注重实际,应用为王:笔者精心挑选了大量的示例程序,它们都是笔者在实际开发中的经验总结,涵盖了在实际开发中可能遇到的各种问题。
4.取材广泛,内容充实:本书覆盖JPA技术的各个方面,从最基本的简单概念到JPA高级应用的相关技术,再到JPA结合各种框架的使用。本书内容涵盖JPA的各个方面,是对JPA内容体系的整体总结。..
5.注重基础,高于基础:本书不仅对基础知识进行了讲解,而且还大量讲述了其基本实现原理。不仅告诉读者如何做,而且告诉读者为什么这样做。这样使读者不仅知道如何应用,而且能理解最本质的内容,从而便于以后更深入地学习。
6.配有学习论坛http://www.rzchina.net:读者可以在上面讨论技术,笔者会及时回答读者提问,并提供各种技术文章,帮助读者提高开发水平。
适合的读者
本书具有知识全面、实例精彩、指导性强的特点,力求以全面的知识及丰富的实例来指导读者透彻地学习JPA的各方面技术。本书可以作为JPA的入门书籍,也可以帮助中级读者提高技能,同时对高级读者也有一定的启发意义。 ...
Java开发人员
Java开源项目爱好者
JPA开发人员
Hibernate、OpenJPA、Toplink开发人员
Java EE 5开发人员
EJB 3开发人员
编者
书摘回到顶部↑
第一篇初识JPA
第1章JPA概述
1.1什么是数据持久化
数据持久化,顾名思义就是把程序中的数据以栽种形式保存到到存储介质中,以达到持久化的目的。当程序运行时,一些数据是临时保存在内存中,一旦退出系统,这些数据就丢失了。如果使用某种手段将数据保存在硬盘或数据库,这了使退出系统后又重新启动系统,这些数据仍然可以重新找回来。
例如,管理员向一个用户管理系统中添加了一个用户的资料,那么这个系统需要将新添加的资料保存到数据库中,否则系统退出或电脑重启后该用户资料就会丢失。将数据从内存保存到数据库中,这便是数据的持久化。娄然,保存到数据库只是持久化方式中的一种,也可以保存在其他的永久存储介质中。
1.2Java持久化技术
在Java领域中,持久化也是企业应用开发中的一项必不可少的技术。Java社区在努力解决持久化数据管理的过程中,曾经涌现出了非常多试图解决这个问题的技术方案。从最早的序列化(Serialzation)到JDBC、关系对象映射(ORM)、对象数据库(ODB),再到IJB2.X、Java数据对象(JDO),一直到目前最新的Java持久化API (JPA).
1.2.1序列化(Serialization)
序列化(Serialzation)也叫串行化,是Java对象的机制。只要某个实现了java.io.Serializable接口,就能够使用java.io.ObjectOutputStream将该类对象以二进制字节码的形式写到硬盘上,并能使用java.io.ObjectOutputStream将该对象从硬盘上还原。这样,即使重启了机器,该Java对象也能够从硬盘上恢复。
对应简单的应用,可以使用序列化实现对Java对象的持久化。序列化的对象一般为普通的Java Bean。
……
第1章JPA概述
1.1什么是数据持久化
数据持久化,顾名思义就是把程序中的数据以栽种形式保存到到存储介质中,以达到持久化的目的。当程序运行时,一些数据是临时保存在内存中,一旦退出系统,这些数据就丢失了。如果使用某种手段将数据保存在硬盘或数据库,这了使退出系统后又重新启动系统,这些数据仍然可以重新找回来。
例如,管理员向一个用户管理系统中添加了一个用户的资料,那么这个系统需要将新添加的资料保存到数据库中,否则系统退出或电脑重启后该用户资料就会丢失。将数据从内存保存到数据库中,这便是数据的持久化。娄然,保存到数据库只是持久化方式中的一种,也可以保存在其他的永久存储介质中。
1.2Java持久化技术
在Java领域中,持久化也是企业应用开发中的一项必不可少的技术。Java社区在努力解决持久化数据管理的过程中,曾经涌现出了非常多试图解决这个问题的技术方案。从最早的序列化(Serialzation)到JDBC、关系对象映射(ORM)、对象数据库(ODB),再到IJB2.X、Java数据对象(JDO),一直到目前最新的Java持久化API (JPA).
1.2.1序列化(Serialization)
序列化(Serialzation)也叫串行化,是Java对象的机制。只要某个实现了java.io.Serializable接口,就能够使用java.io.ObjectOutputStream将该类对象以二进制字节码的形式写到硬盘上,并能使用java.io.ObjectOutputStream将该对象从硬盘上还原。这样,即使重启了机器,该Java对象也能够从硬盘上恢复。
对应简单的应用,可以使用序列化实现对Java对象的持久化。序列化的对象一般为普通的Java Bean。
……
评论交流
共有20人开贴评论 22人参与评论 20人参与打分 查看
评价等级:



发表于:2008-7-4 21:57:00
拿来翻了一下,只看了第十一章,发现原则性重大问题两"处:
1."容器托管的EntityManager对象必须在EJB容器中运行,而不能在Web容器和J2SE的环境中运行。"
EntityManager完全可以在Web容器中托管,但线程安全性要由程度员控制,容器从来不负责线程安全性.
2.作者认为在WEB容器中只能通过Factory来获取em,所以通过@PersistenceUnit(unitName = "jpaUnit")来注入一个Factory,然后通过它来获取em.但是em是在service方法中获取的,它本身是性程安全的,service方法中通过Factory获取em其本身已经完全和ThreadLocal一样安全.而Factory本身是单例的,被servlet的多个实例访问也完全没有安全性可言,所以用ThreadLocal完全是多此一举.
1."容器托管的EntityManager对象必须在EJB容器中运行,而不能在Web容器和J2SE的环境中运行。"
EntityManager完全可以在Web容器中托管,但线程安全性要由程度员控制,容器从来不负责线程安全性.
2.作者认为在WEB容器中只能通过Factory来获取em,所以通过@PersistenceUnit(unitName = "jpaUnit")来注入一个Factory,然后通过它来获取em.但是em是在service方法中获取的,它本身是性程安全的,service方法中通过Factory获取em其本身已经完全和ThreadLocal一样安全.而Factory本身是单例的,被servlet的多个实例访问也完全没有安全性可言,所以用ThreadLocal完全是多此一举.
| 我要写评论 |
| 查看所有评论交流(共20条) |








点击看大图


加载中...

