官术网_书友最值得收藏!

Introduction

Entities are classes that need to be persisted; their state is stored outside the application, typically in a relational database. Unlike session beans, entities do not have business logic other than validation. As well as storing such entities, we want to query, update, and delete them.

The EJB 3 specification recognizes that many applications have the above persistence needs without requiring the services (security, transactions) of an application server EJB container. Consequently the persistence aspects of EJB 3 have been packaged as a separate specification—the Java Persistence API (JPA). JPA does not assume we have a container and can even be used in a Java SE (Standard Edition) application. As well as persistence, JPA deals with Object/Relational Mapping and Queries, these are covered in Chapters 4 and 5 respectively. Most of our examples assume that the persistence engine exists within an EJB 3 container such as GlassFish or JBoss. In Chapter 6 we shall show examples of persistence outside a container.

Successful standalone object-relational mapping products such as open source Hibernate and proprietary Oracle Toplink have implemented these persistence technologies for a number of years. Creators of Oracle Toplink and Hibernate have been influential in the development of the JPA specification. So, readers who are familiar with either Hibernate or Toplink will recognize similarities between the JPA and those products. Furthermore, under the covers, the GlassFish application server implements the JPA using Toplink and the JBoss application server uses Hibernate. These are pluggable defaults however, so it is possible to implement the JPA in GlassFish using Hibernate for example.

The JPA can be regarded as a higher level of abstraction sitting on top of JDBC. Under the covers the persistence engine converts JPA statements into lower level JDBC statements.

主站蜘蛛池模板: 杭锦后旗| 白河县| 黄冈市| 九寨沟县| 赤水市| 北海市| 中山市| 武邑县| 随州市| 历史| 孟州市| 扶风县| 泸州市| 南京市| 恩施市| 安宁市| 穆棱市| 汝阳县| 赤壁市| 壤塘县| 独山县| 连南| 云安县| 万山特区| 广安市| 电白县| 三河市| 广昌县| 怀安县| 沈阳市| 呼和浩特市| 枣庄市| 永泰县| 鄯善县| 平罗县| 得荣县| 涟源市| 上思县| 运城市| 昂仁县| 西华县|