仅提供测试对应的case代码,至于实体对象的annotation注解可以自行搜索。
@Test public void simple(){
//创建sessionFactory
EntityManagerFactory factory = Persistence.createEntityManagerFactory("配置中对应的名称");
//创建实体管理对象
EntityManager em = factory.createEntityManager();
//开启事务
em.getTransaction().begin();
//保存数据
em.persist("实体对象");
//更新数据
em.merge("实体对象");
//删除数据
em.remove("实体对象");
//查找数据
//方法一
Person person1 = (Person)em.find(Person.class, new Person().getId());
//方法二:返回的是代理对象,也就说实现了延迟加载
Person person2 = (Person)em.getReference(Person.class, new Person().getId());
//提交事务
em.getTransaction().commit();
//关闭事务
em.close();
//关闭sessionFactory
factory.close();
}
@Test public void update(){
EntityManagerFactory factory = Persistence.createEntityManagerFactory("");
EntityManager em = factory.createEntityManager();
em.getTransaction().begin();
Person person = em.find(Person.class, 1);
//将实体状态变为游离状态
em.clear();
person.setName("");
//将游离状态变为托管状态
em.merge(person);
em.getTransaction().commit();
em.close();
factory.close();
}
@Test public void query(){
EntityManagerFactory factory = Persistence.createEntityManagerFactory("");
EntityManager em = factory.createEntityManager();
//索引参数查询
Query query = em.createQuery("select p from Person p where p.name=?1");
query.setParameter(1, "yoyi");
//位置参数查询
Query query1 = em.createQuery("select p from Person p where p.name:name");
query1.setParameter("name", "yoyi");
List<Person> ls = query.getResultList();
Person person = (Person)query.getSingleResult();
}
分享到:
相关推荐
这个简单的例子有助于理解Spring与JPA的集成机制,便于在实际项目中灵活运用。更多关于Spring JPA的高级特性和最佳实践,可以在指定的博客链接(http://blog.csdn.net/wu_boy/article/details/72353608)中找到详细...
在Spring Boot中,我们可以通过简单配置,启用JPA支持,并连接到相应的数据库。例如,在`application.properties`文件中配置数据库连接: ``` spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring....
开发者只需定义Repository接口,通过简单的查询方法名即可实现复杂的数据库查询。例如,`findByEmailAddressAndLastname`方法将自动构建出基于电子邮件地址和姓氏的联接查询。 2. **成熟的语法结构**: - Spring ...
- **事务管理**:Spring JPA与Spring的事务管理集成,提供了声明式事务处理,使得事务管理更加简单。 - **数据源集成**:支持多种数据库,如MySQL、PostgreSQL、Oracle等,只需配置相应的JDBC连接即可。 - **性能...
在这个"openjpademo"示例中,我们将会探讨如何利用OpenJPA在Web环境中创建一个简单但实用的应用。 首先,OpenJPA允许开发者将Java对象映射到数据库表,通过这种方式,我们可以使用面向对象的编程方式处理数据,而...
Java持久化API(JPA)是Java平台上的一个规范,作为Java EE 5的一部分,它极大地简化了企业级应用中对象关系映射(ORM)的过程。...无论是简单的数据存储还是复杂的业务逻辑,JPA都能提供强大且灵活的支持。
这种方式简单明了,但可能不适用于所有场景,尤其是在需要自定义逻辑时。 2. **PROPERTY**: 使用此策略时,JPA会通过实体类的getter和setter方法来访问属性。这允许我们在getter或setter方法中添加额外的业务逻辑,...
**Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的数据,它提供了对象关系映射(ORM)的...通过理解并熟练运用JPA的各个组件和特性,开发者可以在Java应用程序中实现高效的数据管理。
JPA2.0作为JPA的一个重大版本更新,在原有基础上增加了许多新功能和改进,使得数据持久化变得更加简单高效。 - **新特性**: - **支持JSR-303验证注解**:允许在实体类上直接使用JSR-303的验证注解,如`@NotNull`...
Spring JPA(Java Persistence API)是Spring框架的一部分,它提供了一个简单、方便的方式来处理数据库操作。这个示例将深入探讨如何在Spring应用中使用JPA来实现数据持久化。 首先,我们需要理解JPA的核心概念。...
**JPA(Java Persistence API)入门详解** JPA,全称Java Persistence API,是Java平台上的一个标准,用于管理关系数据库中的数据。...通过实践这些示例,开发者可以更好地理解和掌握JPA在实际项目中的运用。
### JPA主键生成策略详解 #### 一、概述 持久化对象的主键生成机制在JPA(Java Persistence API)中占据着重要的位置。...了解这些生成策略并正确运用它们能够帮助开发者更好地设计出高效、可靠的持久化层。
7. **JPA高级特性**:JPA提供了丰富的功能,如事务管理、查询语言JPA QL、自定义SQL、懒加载、多态性等,可以在实际项目中灵活运用。 通过整合SpringBoot和JPA,开发者可以专注于业务逻辑,而无需关心底层的数据库...
**Spring+Struts2+JPA 整合...这个入门小例子可以帮助初学者理解如何将这三大框架集成在一起,实现一个简单的CRUD应用,从而加深对Java Web开发的理解。通过学习和实践,你可以逐步掌握如何在实际项目中运用这些技术。
Spring Data JPA 通过提供Repository接口,使得数据访问变得非常简单,同时也支持自定义查询方法。 在**事务管理**方面,Spring 提供了两种主要的事务管理方式:编程式事务管理和声明式事务管理。编程式事务管理...
Spring Boot的自动配置特性使得设置数据库连接、数据源、JPA配置等工作变得极其简单,开发者只需少量配置就能启动应用程序。 佟刚老师的课程深入浅出地讲解了Spring Data JPA的这些核心概念和用法,包括实体映射、...
- 自动化的Repository接口:SpringDataJPA允许你创建一个简单的Repository接口,无需实现任何方法,系统会自动生成对应的CRUD操作。 - 查询方法支持:只需要在接口中定义方法名,系统就能自动转换为JPQL或HQL查询。 ...
总的来说,《补习班管理系统》是一个典型的前后端分离的Web应用,展示了Spring Boot、Spring MVC、Spring Data JPA和AngularJS的综合运用。了解这些技术的原理和使用方法,对于开发者来说,不仅可以提升开发效率,也...
在Java世界中,Java Persistence API (JPA) 是一种用于管理关系数据库的规范,它为开发者提供了ORM(对象关系映射)能力,使得在Java应用中操作数据库变得更加简单。本篇我们将深入探讨JPA中的多对多双向关联,即`@...
通过对这个案例的分析和运行,我们可以深入理解Spring Data JPA的工作原理,以及如何在实际项目中高效地运用这一框架,提升开发效率,降低维护成本。无论你是初学者还是经验丰富的开发者,都能从中受益匪浅。