Spring与Jpa整合
4、 如果用IdClass的形式,主键类中的属性名称和类型必须和实体类中的属性名称和
类型相同。
5、 另外,如果实体类中在一个集合属性上引用@OneToMany的时候,可以用属性
fetch=ZY表示集合是懒加载的,用mappedBy到实体类中的某个属性,表示由实体类的该属性来维护。标注@OrderBy(“<属性名> <排序方式>, ...”)来表示实体类下的该集合在加载时候的排序方式,可以有多个,用逗号隔开。如Employee类所示。
持久层
Repository接口
1、 我们主要使用Spring Jpa实现对数据持久化的操作。使用Spring Jpa,只需要在接
口中标注@Repository,并声明需要使用到的接口方法,而不用真正的去实现它,因为Spring Jpa已经为我们提供了默认的接口实现类(SimpleJpaRepository)。 2、 通过@Repository注解表示该接口为数据持久化接口。并在Spring的配置文件中声明
<jpa:repositories base-package=”” />(需要引入jpa命名空间)来指定Repository所有的位置,这样它会自动被Spring容器扫描,初始化并管理。 3、 一般地,Repository接口继承了JpaRepository<T, ID>。这个接口已经为我们提供
了一些基本的常用的操作(增删改查),比如通过主键获取实例findOne,获取所有的实例findAll等。详细请参考JpaRepository的API。
现在,如果我们需要一个方法,根据指定的日期,查询出在这个日期之前入职的所有员工,那么我们只需要在EmployeeRepository中声明这样的一个方法: