您的位置:首页 > 编程语言 > Java开发

hibernatJPA---【小白系列】0基础到熟练应用hibernate框架(十五)

2017-07-03 11:10 771 查看

JPA概念

Java Persistence API (java持久化API) 与JDBC性质一样,都属于规范。
这套规范定义了如何以面向对象的方式操作数据库.这套出现在hibernate框架之后.受hibernate框架启发.其中与hibernate设计不同的是支持以注解的方式注册实体对象.hibernate率先宣布支持JPA

JPA环境搭建

1.导包



除了这两个文件夹下,还需要自己导入 数据库驱动,就不截图了

2.建立配置文件

JPA要求在src下建立META-INF文件夹,里面新建个persistence.xml



配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
<!--Name属性用于定义持久化单元的名字 (name必选,空值也合法);
transaction-type 指定事务类型(可选)
取值:
JTA:Java Transaction Api 用于分布式事务
RESOURCE_LOCAL : 单连接事务
-->
<persistence-unit name="abc" transaction-type="RESOURCE_LOCAL">

<!-- javax.persistence.PersistenceProvider接口的一个实现类(可选) -->
<provider>org.hibernate.ejb.HibernatePersistence</provider>

<!-- 显式列出实体类,在Java SE 环境中应该显式列出.(可选)
<class>com.domain.Customer</class>-->

<!--厂商专有属性(可选) 我们用的Hibernate,后面都是hibernate.cfg.xml中配置-->
<properties>

<!-- 数据库的连接信息 -->
<property name="hibernate.connection.driver_class"
value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.url"
value="jdbc:mysql://localhost:3306/test"/>
<property name="hibernate.connection.username" value="root" />
<property name="hibernate.connection.password" value="1234" />
<!-- 指定方言 -->
<property name="hibernate.dialect"
value="org.hibernate.dialect.MySQL5Dialect" />
<!-- 生成DDL的策略 -->
<property name="hibernate.hbm2ddl.auto" value="update" />
<!-- 是否显示SQL语句 -->
<property name="hibernate.show_sql" value="true" />
<!-- 是否格式化SQL语句 -->
<property name="hibernate.format_sql" value="true" />
<!-- 指定使用c3p0连接池 -->
<property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" ></property>
</properties>
</persistence-unit>
</persistence>

新建JPAUtils.java

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class JPAUtils {

private static EntityManagerFactory factory;

static{
//读取主配置,并创建EntityManagerFactory(可以理解为Session工厂)
factory = Persistence.createEntityManagerFactory("abc");
}

public static EntityManager getEntityManager(){
return factory.createEntityManager();
}

}

实体注解详解




使用JPA增删改查





懒加载查询



修改持久化对象



修改游离态对象





JPQL



多表映射关系配置

一对多|多对一

一对多



多对一




4000
多对多

不维护外键方



外键维护方



在JPA中使用c3p0连接池

导包




配置




测试

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate 框架 java jpa
相关文章推荐