简介
自从Sun 推出JPA(Java Persistence API)以来,使用Jpa的越来越多了,再不是之前那种只使用Hibernate,MyBaits等等框架了。JPA的一个核心目的就是要整合ORM技术,实现天下归一。
项目搭建
本文就以一个简单的图书出版社为例,集成Spring和Hibernate技术,存储使用MySQL数据库,搭建一个Spring Data JPA项目。
数据库设计
对于Web项目来说,数据库可以说是重之又重了。数据是设计的基础,直接决定系统的成败。如果数据库设计不合理、不完善,将在系统开发中,甚至到后期维护时,引起严重的问题。当然了,在我们这里只是一个简单的Demo示例,不用考虑那么多,实际项目中可能就不一样了。
下面贴一下数据库的设计。很简单就一个图书和出版社的表,然后出版社又可以出版多本书,所以在图书中添加一个外键,与出版社进行链接,使其成为多对一的模式。
项目依赖
项目主要就是依赖Spring + Hibernate,然后再添加一下junit方便后续测试使用。
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.spring</groupId>
<artifactId>jpa</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<spring.version>4.3.1.RELEASE</spring.version>
<log4j.version>2.6.2</log4j.version>
<hibernate.version>5.1.0.Final</hibernate.version>
</properties>
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.10.1.RELEASE</version>
</dependency>
<!-- JavaEE -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- Hibernate -->
<dependency>
<groupId>