The document discusses the Java Persistence API (JPA) and Hibernate framework. It provides an overview of JPA's main features, the five steps to implement JPA using Hibernate, and the components that make up Hibernate.
2. What is Java Persistence API Primary Features Five Steps to Implement JPA Download Hibernate Components Prepare Database, and Download JDBC Driver Implemented POJO entities and add annotations Persistence.xml Implemented client side code via EntityManager
3. The Java Persistence API is the standard object/relational mapping and persistence management interface of the Java EE 5.0 platform. As part of the EJB 3.0 specification effort, it is supported by all major vendors of the Java industry.
9. To label artifacts (classes, methods etc.) for persistence or persistence related operations A “gateway” to the persistence classes Allow access to persistent objects, transaction context, query language etc.
10. Hibernate Annotations includes Standardized Java Persistence and EJB 3.0 (JSR 220) object/relational mapping annotations Hibernate-specific extension annotations for performance optimization and special mappings Hibernate EntityManager includes The standard Java Persistence management API The standard Java Persistence Query Language The standard Java Persistence object lifecycle rules The standard Java Persistence configuration and packaging
14. Attached to a class Signify that a class is persistent Example: An entity must follow the Java Bean convention for its attributes to be persistent Having getters and setters
15. Each entity must have an identity An identity of an entity could simply be a class variable annotated with @Id Example
16. Id can be auto generated @Id(generate=GeneratorType.AUTO) There are other strategies such as GeneratorType.SEQUENCE GeneratorType.IDENTITY AUTO is best for portability between database vendors
17. @Column, is put on getter of a class variable Has several functionalities Updatable (boolean) Nullable (updatable) Length (int) Example:
18. There are 4 types of links @OneToOne @OneToMany @ManyToOne @ManyToMany In most cases, putting the annotation on a getter of a class variable would be enough In some cases, we need to identify a few parameters to the annotations
19. Two cases Two entities share the same primary key value
20. Entity objects have two distinct modes Attached The object is in the database Detached The object is in memory acting as a DTO Modification on detached object would not be persisted automatically Developers need to persist detached objects using a primitive
21. Entity manager: Gateway to persistent classes Enable queries Outside of session beans, provides transaction facility