`

JPA EntitManager初体验

 
阅读更多

原文链接: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与数据库数据之间的同步!

 

引入实体管理器


依赖注入EntityManaer

 EJB容器中,使用依赖注入来创建EntityManager

 

如:

  1. @PersistenceContext(unitName="exam-entity")  
  2. protectedEntityManager em;  

@PersistenceContex表示标注的属性 em 是一个实体管理器EntityManager对象,EJB容器会根据 unitName 的值来初始化EntityMangerunitName 的值为persistence.xml中配置的unit中的name

如:

  1. <persistence-unitnamepersistence-unitname="exam-entity" transaction-type="JTA">  

操作实体Entity


 基本的操作有

persist

Find

Merge

Remove

createQuery

 

2.1添加Entity

 实体管理器中的persist方法可以在数据中添加一条记录

  1. Public void persist(object entity)  

 

实例代码如下:

  1. User user= new User();  
  2. user.setId(UUID.randomUUID().toString());  
  3. user.setName("田老师");  
  4. em.persist(user);  

 

2.2根据主键查找Entity


find方法根据主键查找对应实体

  1. Public <T> find (Class<T> entityClass,Object primaryKey);  

primaryKey为主键的值。如:查找iduuid的实体代码

  1. User user=em.find(User.class,"uuid");  

 

2.3更新 Entity


merge方法可以将实体更新到数据库中,

  1. Public <T> T merge (T entity);  

其中,可以通过find方法先查找出来,然后重新设置值后,最后更新

  1. User user=em.find(User.class,"uuid");  
  2. user.setName("李老师");  
  3. Em.merge(user);  

2.4删除Entity


remove方法删除数据库中一条记录

  1. Pubilc void remove(Object entity);  

也是通过find方法先查找出来,然后删除

  1. User user=em.find(User.class,"uuid");  
  2. em.remove(user);  

 

小结:


以上是对JPA的初步认识,是最基本的增删该查是没有问题的,当然了这里介绍的只是初步认识,并没有设计抽象等操作,接下来 是 进阶篇幅介绍。

分享到:
评论

相关推荐

    jpa例子jpajpa

    **Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的对象-关系映射(ORM)。它提供了一种方式,让开发者可以用面向对象的编程模型来操作数据库,而无需直接编写SQL语句。JPA允许你在...

    jaxb与jpa初应用

    **JAXB与JPA初应用** Java Architecture for XML Binding (JAXB) 和 Java Persistence API (JPA) 是Java开发中的两个重要技术,主要用于处理XML数据和实现对象关系映射(ORM)。在本篇中,我们将深入探讨这两个技术...

    JPA源文件/jpa学习

    **JPA(Java Persistence API)**是Java平台上的一个标准,用于管理关系数据库中的数据,它简化了在Java应用程序中存储、检索和管理对象的工作。JPA是Java EE和Java SE环境中的一种ORM(Object-Relational Mapping)...

    JPA教程,包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注

    **Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的数据。它为Java开发者提供了一种对象关系映射(ORM)机制,将业务对象与数据库表进行映射,使得开发者可以使用面向对象的方式来操作...

    JPA中文解释,JPA的API

    Java Persistence API(JPA)是Java平台上的一个标准,用于管理关系数据库中的对象持久化。它简化了在Java应用程序中存储、检索和管理数据的过程,是Enterprise JavaBeans(EJB)的一部分,也是Spring框架中的一个...

    spring注解+spring data jpa文档+JPA文档.rar

    Spring框架的核心特性包括依赖注入(DI)和面向切面编程(AOP),并且它还提供了对数据库操作的支持,这主要通过Spring Data JPA和Java Persistence API(JPA)实现。 Spring注解是Spring框架中的一大特色,它极大...

    Pro JPA2 精通JPA2

    《Pro JPA2:精通Java™ Persistence API》是一本由Mike Keith和Merrick Schincariol撰写的关于Java持久化API(JPA)的权威指南。本书深入探讨了JPA2,即Java Persistence API的第二版,是Java EE 6标准的一部分。...

    Spring Data JPA中文文档[1.4.3]_springdatajpa_erlang_waitxpf_

    **Spring Data JPA** 是一个基于 **Java** 的开源框架,它是 **Spring Framework** 的一个模块,主要用于简化 **Java Persistence API (JPA)** 的使用。JPA 是 Java 平台上的一个标准,用于管理和持久化应用程序的...

    Spring Data JPA初使用 .doc

    Spring Data JPA是Spring框架的一个重要组成部分,专为简化数据访问层的开发而设计。它提供了与各种持久层技术(如JPA,JDBC等)的集成,使得开发者可以更专注于业务逻辑,而不是底层的数据操作代码。在Spring Data ...

    Spring Data JPA API(Spring Data JPA 开发文档).CHM

    Spring Data JPA API。 Spring Data JPA 开发文档。 官网 Spring Data JPA API。

    Gemini JPA 介绍资料

    Gemini JPA是在OSGi环境下(特别是Eclipse RCP)中使用的Java持久化框架。OSGi是一个模块化服务平台,允许在Java环境中动态地安装、启动、停止和卸载组件,而不会影响其他组件的正常运行。在Java开发中,持久化层...

    JPA 标注 JPA标签手册

    Java Persistence API (JPA) 是Java企业版5(Java EE 5)的一部分,与Enterprise JavaBeans(EJB)3.0规范一起,极大地简化了Java持久化。它提供了一种对象关系映射方法,允许您以标准、可移植的方式声明性地定义...

    Spring Data JPA 简化 JPA 开发

    Spring Data JPA 是一个由 Spring 框架提供的强大库,它极大地简化了基于 Java Persistence API (JPA) 的数据库访问。JPA 是 Java 平台上的标准 ORM(对象关系映射)规范,允许开发者使用面向对象的方式处理数据库...

    Spring Data JPA 笔记

    Spring Data JPA 是一个强大的框架,它简化了Java应用程序与数据库之间的交互,是Spring生态中的重要组成部分。通过使用Spring Data JPA,开发者可以避免编写大量的JPA(Java Persistence API)和SQL代码,专注于...

    JPA Demo 简单的了解下jpa

    **JPA(Java Persistence API)简介** Java Persistence API(JPA)是Java平台上的一个标准,用于管理和持久化Java对象到关系数据库。它是Java EE和Java SE环境中处理对象关系映射(ORM)的一种规范,旨在简化...

    jpa

    **JPA(Java Persistence API)**是Java平台上用于管理关系数据库的数据持久化标准API,它为应用程序提供了一种对象/关系映射工具,将关系数据库中的数据与Java类对象关联起来,使得开发者可以使用面向对象的方式来...

    如何控制JPA的事务

    "JPA事务管理" JPA(Java Persistence API)是一种Java持久化规范,它提供了一个抽象层来访问关系数据库。JPA的事务管理是指对一系列操作的管理,包括创建、读取、更新和删除(CRUD)等操作。事务管理的目的是确保...

Global site tag (gtag.js) - Google Analytics