Hibernate学习笔记(四)

一、JPA的概念以及它和Hibernate的关系

        (一)JPA是一套ORM规范,相当于一个API(接口),hibernate实现了JPA规范

        (二)hibernate中有自己的独立ORM操作数据库方式,也有JPA规范实现的操作数据的方式

        (三)在数据库的CRUD操作中,hibernate和JPA都会用到

二、JPA的环境搭建和入门案例

        (一)创建项目,准备数据库,导入jar包

        (二)在src目录下面创建一个META-INF文件夹,在该文件夹下创建persistence.xml文件(该文件夹和文件的名称位置都不能该),然后引入XMLSchema约束

                 

                 上面这些网址的查找方式如下:

               

                

        (三)在jpa的主配置文件中写配置信息


        (四)添加注解,使用的注解都是JPA规范的,所以在实体类中导包都需要导入javax.persistence包下的


        (五)编写JPA的工具类,创建一个类叫JPAUtil.java


三、JPA的CRUD操作

        (一)保存

         

        (二)查询

         

        (三)修改

        

        (四)删除

        

        (五)查询所有

        

   

        (六)find方法时立即加载,getReference方法时延迟加载

四、JPA中实现一对多的映射配置和操作

        (一)主表中的配置:

        

        (二)从表中的配置:

        

        (三)ManyToOne或者OneToMany中的其他属性:

                   cascade:级联,属性值CascadeType.XXX(XXX选择javax.persistence包的属性值)

                   fetch:加载方式,属性值FetchType.XXX(EAGER:立即加载;LAZY:延迟加载)

五、JPA中实现多对多的映射配置和操作

        (一)配置主键的方法


        (二)一张多方的表的配置(放弃维护关联关系)

            

        (二)另一张多方表的配置


        (四)双向级联删除不管是hibernate或者是JPA都不能配置

六、基于JPA的映射配置和hibernate操作组合使用

        (一)在JPA中如何获取到hibernate中的Session对象

                

        (二)在JPA中使用C3P0连接池时,跟hibernate的配置方法一样,导包,然后在配置文件中添加配置信息即可

        (三)在JPA中将EntityManage和线程进行绑定的方法

                    (A)利用Spring

                    (B)自己写代码

猜你喜欢

转载自blog.csdn.net/Yinyaowei/article/details/80781282