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

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.

主站蜘蛛池模板: 穆棱市| 彩票| 乐安县| 临颍县| 富蕴县| 南皮县| 桐梓县| 永平县| 郴州市| 永兴县| 手游| 四会市| 甘南县| 塔城市| 大关县| 雷波县| 莲花县| 玛多县| 前郭尔| 昆明市| 静宁县| 山阴县| 连南| 化德县| 甘南县| 遵化市| 潞城市| 米易县| 通州区| 娱乐| 灵丘县| 秀山| 石台县| 张北县| 武平县| 隆化县| 赣榆县| 海晏县| 陈巴尔虎旗| 涟源市| 札达县|