2.Java对象持久化概述

来源:互联网 发布:软件企业简介 编辑:程序博客网 时间:2024/03/29 05:01

1.hibernate是什么

*   面向java环境的对象/关系数据库映射工具

*   ORM(Object/Relational Mapping)映射工具,建立面向对象的域模型和关系数据模型之间的映射

*   连接java应用和数据库的中间件

*   对JDBC进行封装,负责java对象的持久化

*   在分层结构中处于持久化层,封装对数据库的访问细节,使业务逻辑层更专注于实现业务逻辑

*   中小型项目使用hibernate  大型用jdbc  性能问题

*   表述层-------业务逻辑层--------持久化层--------数据库层

*   Hibernate中间件:Hibernate不和特定的业务领域相关,能够把任意一个Java应用与数据库系统连接,可以理解为是一种中间件

2.软件模型

*   实体域对象:通常是指业务领域中的名词。(pojo)(plain old java object)。--映射数据库中的表

*   过程域对象:应用中的业务逻辑或流程。依赖于实体域对象,业务领域中的动词。如发出订单、登陆等。(对pojo操作的方法)

3.域对象之间的关系

*   关联:类间的引用关系。以属性定义的方式表现 

     关联可分为一对一、一对多和多对多。还可分为单项关联和双向关联

*   依赖:类之间访问关系。无需定义成属性。在A中访问B中的方法或属性,或者A负责实例化B。

*    聚集(Aggregation):整体与部分的关系。例人与手的关系。部分类的对象不能单独存在,他的生命周期依赖于整体类的对象的生命周期,整体消失时,部分也随之消失

4.域对象的持久化概念

*   实体域对象在内存中创建后,不能永久存在。将实体域对象永久保存起来,就是持久化的过程

5.ORM

*   ORM的实现思想:将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对数据库的操作转化为对对象的操作。因此ORM的目的是为了方便开       发人员以面向对象的思想来实现对数据库的操作

*   ORM 采用元数据来描述对象-关系映射细节, 元数据通常采用 XML 格式, 并且存放在专门的对象-关系映射文件中

*   元数据  描述数据的数据

public void deleteCustomer(Customer c){      Session session = getSession();      session.save(c);}
*   执行步骤如下:
        1.运用反射机制,获得Customer对象的Customer.class类。
        2.参照映射文件得到Customer类对应的表的信息,以及和Customer类关联的类以及
           相应的表信息。
        3.根据以上信息生成SQL语句。
        4.调用hibernate API,执行该语句

0 0
原创粉丝点击