×

jpa

JPA 如何实现修改一条记录?jpa的持久化文件persistence.xml应该放在哪儿

admin admin 发表于2022-05-08 12:02:20 浏览109 评论0

抢沙发发表评论

JPA 如何实现修改一条记录

1.@Test//进行修改操作public void update1(){//1.加载hibernate 核心配置//2.创建SqlSessionFactoryEntityManagerFactory factory = Persistence.createEntityManagerFactory(“heiruan“);//3.根据工厂创建sessionEntityManager entityManager = factory.createEntityManager();//4.开启事务EntityTransaction transaction = entityManager.getTransaction();transaction.begin();//5.crud操作 做的是查询的操作无序开启事务 直接进行逻辑操作Person person = entityManager.find(Person.class, 1);person.setUsername(“老李“);//为什么就可以进行修改操作//1. 当前的实体管理器和事务已经关联到一起//2. 实体类对象状态 :持久态状态//(瞬时态 :对象里面没有id 和session没有关系 持久态 : 和session有关系求有id 托管态:对象里面有id,但是和session没有关系)//6.关闭事务transaction.commit();//7.释放资源entityManager.close();factory.close();}2. @Test//进行修改操作public void update2(){//1.加载hibernate 核心配置//2.创建SqlSessionFactoryEntityManagerFactory factory = Persistence.createEntityManagerFactory(“heiruan“);//3.根据工厂创建sessionEntityManager entityManager = factory.createEntityManager();//4.开启事务EntityTransaction transaction = entityManager.getTransaction();transaction.begin();//5.crud操作 做的是查询的操作无序开启事务 直接进行逻辑操作Person person = entityManager.find(Person.class, 1);person.setUsername(“老王“);//为什么就可以进行修改操作//1. 当前的实体管理器和事务已经关联到一起//2. 实体类对象状态 :游离状态(托管态)entityManager.clear();//把实体管理器 里面的所有实体类变成游离状态//保存或者更新实体类对象,JPA会先跟据主键进行查询,然后根据主键进行更新entityManager.merge(person);transaction.commit();//7.释放资源entityManager.close();factory.close();}

jpa的持久化文件persistence.xml应该放在哪儿

《property name=“persistenceXmlLocation“ value=“classpath:/META-INF/persistence.xml“ /》放到资源根目录下:新建文件夹 META-INF 貌似必须是这个目录,不然启动的过程jpa会提示让你存放到以 META-INF 命名的目录下的

java中jpa什么意思

JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA的总体思想和现有Hibernate、TopLink,JDO等ORM框架大体一致。总的来说,JPA包括以下3方面的技术:ORM映射元数据  JPA支持XML和JDK 5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;JPA 的API  用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。查询语言  这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。