原文链接:http://blog.csdn.net/han_yankun2009/article/details/45361787
EntityManager,顾名思义,实体管理器,负责管理Entity对象,对Entity的操作包括添加,删除,修改和查询,都是通过实体管理器来实现的。它由EntityManagerFactory 所创建。EntityManagerFactory,作为EntityManager的工厂,包含有当前O-R映射的元数据信息,每个 EntityManagerFactory,可称为一个持久化单元(PersistenceUnit),每个持久化单元可认为是一个数据源的映射
PersistenceContext,称为持久化上下文,被管理的实体对象(Entity) 的数据。每个EntityManager,都会跟一个PersistenceContext相关联。PersistenceContext中存储的是实体 对象的数据,而关系数据库中存储的是记录,EntityManager正是维护这种OR映射的中间者,它可以把数据从数据库中加载到 PersistenceContext中,也可以把数据从PersistenceContext中持久化到数据库,EntityManager通过Persist、merge、remove、refresh、flush等操作来操纵PersistenceContext与数据库数据之间的同步!
1 引入实体管理器
依赖注入EntityManaer
在EJB容器中,使用依赖注入来创建EntityManager。
如:
- @PersistenceContext(unitName="exam-entity")
- protectedEntityManager em;
@PersistenceContex表示标注的属性 em 是一个实体管理器EntityManager对象,EJB容器会根据 unitName 的值来初始化EntityManger。unitName 的值为persistence.xml中配置的unit中的name值
如:
- <persistence-unitnamepersistence-unitname="exam-entity" transaction-type="JTA">
2 操作实体Entity
基本的操作有
persist
Find
Merge
Remove
createQuery
2.1添加Entity
实体管理器中的persist方法可以在数据中添加一条记录
- Public void persist(object entity)
实例代码如下:
- User user= new User();
- user.setId(UUID.randomUUID().toString());
- user.setName("田老师");
- em.persist(user);
2.2根据主键查找Entity
find方法根据主键查找对应实体
- Public <T> find (Class<T> entityClass,Object primaryKey);
primaryKey为主键的值。如:查找id为uuid的实体代码
- User user=em.find(User.class,"uuid");
2.3更新 Entity
merge方法可以将实体更新到数据库中,
- Public <T> T merge (T entity);
其中,可以通过find方法先查找出来,然后重新设置值后,最后更新
- User user=em.find(User.class,"uuid");
- user.setName("李老师");
- Em.merge(user);
2.4删除Entity
remove方法删除数据库中一条记录
- Pubilc void remove(Object entity);
也是通过find方法先查找出来,然后删除
- User user=em.find(User.class,"uuid");
- em.remove(user);
小结:
以上是对JPA的初步认识,是最基本的增删该查是没有问题的,当然了这里介绍的只是初步认识,并没有设计抽象等操作,接下来 是 进阶篇幅介绍。
相关推荐
**Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的对象-关系映射(ORM)。它提供了一种方式,让开发者可以用面向对象的编程模型来操作数据库,而无需直接编写SQL语句。JPA允许你在...
**JAXB与JPA初应用** Java Architecture for XML Binding (JAXB) 和 Java Persistence API (JPA) 是Java开发中的两个重要技术,主要用于处理XML数据和实现对象关系映射(ORM)。在本篇中,我们将深入探讨这两个技术...
**JPA(Java Persistence API)**是Java平台上的一个标准,用于管理关系数据库中的数据,它简化了在Java应用程序中存储、检索和管理对象的工作。JPA是Java EE和Java SE环境中的一种ORM(Object-Relational Mapping)...
**Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的数据。它为Java开发者提供了一种对象关系映射(ORM)机制,将业务对象与数据库表进行映射,使得开发者可以使用面向对象的方式来操作...
Java Persistence API(JPA)是Java平台上的一个标准,用于管理关系数据库中的对象持久化。它简化了在Java应用程序中存储、检索和管理数据的过程,是Enterprise JavaBeans(EJB)的一部分,也是Spring框架中的一个...
Spring框架的核心特性包括依赖注入(DI)和面向切面编程(AOP),并且它还提供了对数据库操作的支持,这主要通过Spring Data JPA和Java Persistence API(JPA)实现。 Spring注解是Spring框架中的一大特色,它极大...
《Pro JPA2:精通Java™ Persistence API》是一本由Mike Keith和Merrick Schincariol撰写的关于Java持久化API(JPA)的权威指南。本书深入探讨了JPA2,即Java Persistence API的第二版,是Java EE 6标准的一部分。...
**Spring Data JPA** 是一个基于 **Java** 的开源框架,它是 **Spring Framework** 的一个模块,主要用于简化 **Java Persistence API (JPA)** 的使用。JPA 是 Java 平台上的一个标准,用于管理和持久化应用程序的...
Spring Data JPA是Spring框架的一个重要组成部分,专为简化数据访问层的开发而设计。它提供了与各种持久层技术(如JPA,JDBC等)的集成,使得开发者可以更专注于业务逻辑,而不是底层的数据操作代码。在Spring Data ...
Spring Data JPA API。 Spring Data JPA 开发文档。 官网 Spring Data JPA API。
Gemini JPA是在OSGi环境下(特别是Eclipse RCP)中使用的Java持久化框架。OSGi是一个模块化服务平台,允许在Java环境中动态地安装、启动、停止和卸载组件,而不会影响其他组件的正常运行。在Java开发中,持久化层...
Java Persistence API (JPA) 是Java企业版5(Java EE 5)的一部分,与Enterprise JavaBeans(EJB)3.0规范一起,极大地简化了Java持久化。它提供了一种对象关系映射方法,允许您以标准、可移植的方式声明性地定义...
Spring Data JPA 是一个由 Spring 框架提供的强大库,它极大地简化了基于 Java Persistence API (JPA) 的数据库访问。JPA 是 Java 平台上的标准 ORM(对象关系映射)规范,允许开发者使用面向对象的方式处理数据库...
Spring Data JPA 是一个强大的框架,它简化了Java应用程序与数据库之间的交互,是Spring生态中的重要组成部分。通过使用Spring Data JPA,开发者可以避免编写大量的JPA(Java Persistence API)和SQL代码,专注于...
**JPA(Java Persistence API)简介** Java Persistence API(JPA)是Java平台上的一个标准,用于管理和持久化Java对象到关系数据库。它是Java EE和Java SE环境中处理对象关系映射(ORM)的一种规范,旨在简化...
**JPA(Java Persistence API)**是Java平台上用于管理关系数据库的数据持久化标准API,它为应用程序提供了一种对象/关系映射工具,将关系数据库中的数据与Java类对象关联起来,使得开发者可以使用面向对象的方式来...
"JPA事务管理" JPA(Java Persistence API)是一种Java持久化规范,它提供了一个抽象层来访问关系数据库。JPA的事务管理是指对一系列操作的管理,包括创建、读取、更新和删除(CRUD)等操作。事务管理的目的是确保...