JPA介绍及persistence.xml配置介绍

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
    JPA 全称是:Java Persistence API 是由EJB 3.0软件专家组开发,其宗旨是为POJO提供持久

 化标准规范,了解JPA 从 persistence.xml 开始。它的作用是用来配置实体映射及数据库信息.

它默认情况下需要放在META-INF 文件夹下面

我们先来看一下它的几个重要标签:

persistence-unit

这是持久化单元,在persistence.xml中是允许配置多个持久化单元的。如果配置了多个

持久化单元 那么在 注入实体管理的时候需要指定一下持久化单元的名称。

介绍下该标签的两个属性:

*name* 属性:给这个持久化单元取一个名字。

transaction-type 属性: 这个属性默认值是 JTA (该值标识支持分布式事务)还有一个值是 RESOURCE_LOCAL (该值就很显然标识是本地事务了)

OK 往persistence-unit标签里面走:

provider:标识当前JPA 的供应商(如:org.hibernate.jpa.HibernatePersistenceProvider)

class :列出JPA实体类(即带有@Entity注解的实体)

shared-cache-mode :缓存持久化单元中实体的模式(全部ALL,标识的缓存ENABLE_SELECTIVE,

不缓存NONE,标识不缓存DISABLE_SELECTIVE)

jar-file :如果希望列出整个jar中的实体。可以配置该jar文件

jta-data-source :通过JNDI方式注入 DataSource 信息

properties : 可以在此标签下面配置数据库连接属性和供应商的属性信息。(以下使用Hibernate举例)

<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
<property name="hibernate.max_fetch_depth" value="2"/>
<property name="hibernate.generate_statistics" value="false"/>
<property name="hibernate.format_sql" value="false"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.url"value="jdbc:mysql://127.0.0.1:3306/test"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="123"/>
</properties>

有了这个文件后。就可以测试一下啦。(相关的jar需要准备一下,最后会为大家贴上maven的依赖)

快速建一个测试类Demo1 。在main里面开写:

    //这里我 选择 使用一个叫 PU 的持久化单元
     //因为在persistence.xml 的  里面我们配置了 hibernate自动建表。
    //所以到这里,数据库就有表啦
    EntityManagerFactory  factory  =  Persistence.createEntityManagerFactory("PU");

    EntityManager entityManager = factory.createEntityManager();

    //我们来个简单的查询
    //UserProfile 是我建的 用户表

    Query  query = entityManager.createQuery("FROM UserProfile o");
    List profile = query.getResultList();
    System.out.println(profile.size());

    //再来增加
    //下面来来个一连串操作吧, 展示一下 事务
    //那么先开一个事务吧

    entityManager.getTransaction().begin();

    UserProfile user = new UserProfile();

    user.setEmail("123@test.com");
    user.setUsername("test1");

    //set了几个属性,我们来保持他
    entityManager.persist(user);

    //保持好了后 我们来修改一下他的 值
    user.setUsername("test2");

    //可以这样进行修改, 
    //entityManager.merge(user);
    //但我们使用的hibernate,它其他做了一些封装,也就是在一个事务里面只要调用了属性的set方法, 
    //即使不调用merge方法,在最后也会生成update语句
    //在调用persist 的方法后,id字段就会被 自动注入值
    //getReference 方法会生成一个代理对象,在get某个属性的时候才会得到值。

    entityManager.remove(
        entityManager.getReference(UserProfile.class,user.getId()));

    //一个简单的使用就结束拉
    entityManager.getTransaction().commit(); 

那么第一部分就到这里,希望对您了解JPA起到了帮助,下一篇带大家了解JPA的实体注解的使用。

maven依赖:

<dependency>
    <groupid>org.hibernate</groupid>
    <artifactid>hibernate-entitymanager</artifactid>
    <version>5.0.3.Final</version>
</dependency>

<dependency>
    <groupid>org.hibernate</groupid>
    <artifactid>hibernate-validator</artifactid>
    <version>5.2.2.Final</version>
</dependency>
使用persistence.xml进行编程 persistence.xmlJava Persistence API(JPA)中的配置文件,它用于配置持久化单元(Persistence Unit)的相关信息。本文介绍了如何使用persistence.xml文件进行编程,包括创建和配置该文件的步骤,以及在代码中使用它进行持久化操作的方法。通过persistence.xml文件,我们可以轻松管理实体类和数据源的配置,实现对数据库的持久化操作。你需要根据你在persistence.xml文件中配置的持久化单元名称进行相应的修改。 阅读详情

相关推荐

JPA persistence.xml 文件初学者指南

介绍 在本文中,我将解释 JPApersistence.xml配置文件的用途,以及如何使用可用的 XML 标记或属性设置 Java Persistence 应用程序。 虽然 Spring 应用程序可以在不需要 XML JPA 配置文件的情况下进行引导,但理解每个配置选项的含义仍然很重要,因为 Spring 在构建 Java PersistenceLocalContainerEntityManagerFactoryBean或 Hibernate-specific时还提供了另一种方法LocalSessio.

allway2的博客 5281

java persistence.xml_Jpa规范中persistence.xml 配置文件解析

使用spring data + hibernate 进行逻辑层操作时候需要配置persistence.xml的内容xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">下面是从网上搜索回来的配置文件每行说明:xmlns:persistence="http:/...

weixin_34877373的博客 230

JPA配置多数据源多persistence.xml文件

JPA的优势 1.JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何符合 JPA 标准的框架都遵循同样的架构,提供相同的访问 API,这保证了基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA框架下运行。 2.JPA提供了对容器级特性的支持 JPA 框架中支持大数据集、事务、并发等容器级事务,这使得 JPA

熊浪的博客 1万+

JPA持久化persistence.xml配置文件及参数详解

JPA持久化persistence.xml配置文件及参数详解

未眠人的博客 2万+

JPA配置persistence.xml

以前使用JPA的实现是toplink,现在改为hibernate,所以要修改persistence.xml文件,两者的配置有一些不一样,并且在EE环境下面和SE的环境下面也有不一样,还有一点,那就是当persistence.xml里面有些格式出错的时候,虽然出错的不是我们需要的那个单元,但也会使得整个persistence.xml报废。下面帖的是在SE的环境下面使用toplink和hibernat...

KiTong的专栏 312

JPA配置文件persistence.xml参数详解

JPA配置文件persistence.xml参数详解 JPA规范要求在类路径的META-INF目录下放置persistence.xml, 文件的名称是固定的,配置模板如下: Xml代码 <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLS

大鹏的专栏 2万+

jpa mysql 配置文件_JPA配置文件persistence.xml

JPA规范要求在类路径的META-INF目录下放置persistence.xml, 文件的名称是固定的,配置模板如下:Xml代码 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"version="1.0">百度找的:Xml代码 xmlns:persistence="http://ja...

weixin_39819576的博客 320

JpaPersistence.xml配置讲解

<?xml version="1.0"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun....

alexhill2009的博客 153

JPA配置文件persistence.xml怎么配

maven项目,在src/main/resources下创建META-INF文件夹,将persistence.xml文件放在该目录下 在persistence.xml文件中做如下配置 <?xml version="1.0" encoding="UTF-8"?><persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> <!-- JPA根据下面的配置信息创建Ent...

心有谦谦结 661

jpapersistence.xml配置文件详情

jpapersistence.xml配置文件详情 Xml代码       xmlns:persistence="http://java.sun.com/xml/ns/persistence"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="htt

devilzy2656的专栏 1693

ORM 之JPA --JPA-Hibernate persistence.xml配置

<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan...

u012045045的博客 245

JPA工程配置persistence.xml参数详解

JPA规范要求在类路径的META-INF目录下放置persistence.xml, 文件的名称是固定的,配置模板如下: Xml代码  xmlns="http://xmlns.jcp.org/xml/ns/persistencehttp://xmlns.jcp.org/xml/ns/persistence">http://xmlns.jcp.org/xml/ns/pe

kayieh的专栏 1109

jpa: persistence.xml 配置文件案例

java工程中, jpa的注配置文件位置:src路径下一个名为META-INF的文件夹,在此文件夹下创建一个名为 persistence.xml配置文件。 <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> <!--需要配置persistence-unit节点 持久化单元:

tangiwang的博客 1457

Jpa规范中persistence.xml 配置文件解析

使用spring data + hibernate 进行逻辑层操作时候需要配置 persistence.xml的内容 &lt;?xml version="1.0"?&gt; &lt;pers

CHCH998的博客 5207

JPApersistence.xml配置文件参数

JPA规范要就在类的META-INF目录下防止persistence.xml,文件名是固定的,配置模版如下, xml代码: xml version="1.0"?> xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.3w.org/2001/xmlschema-instace" xsi:schemaLo

guoxin91的专栏 3328

JPA配置文件persistence.xml

  JPA规范要求在类路径的META-INF目录下放置persistence.xml, 文件的名称是固定的,配置模板如下: Xml代码 &lt;?xml version="1.0"?&gt;      &lt;persistence xmlns="http://java.sun.com/xml/ns/persistencexmlns:xsi="http://www...

e家 276

不在JPApersistence.xml 文件里配置Entity class的解决的方法

不在JPApersistence.xml 文件里配置Entity class的解决的方法

Littleree的博客 125

JPA配置文档persistence.xml文件的参数说明

JPA规范要求在类路径的META-INF目录下放置persistence.xml, 文件的名称是固定的,配置模板如下: Xml代码 <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i

Anxiaolu的博客 1839
上一篇: 基于Spring4.x 搭建 Spring MVC + MyBatis
下一篇: JPA:实体类注解配置
Captain_J
博客等级 码龄11年 1粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值