zoukankan      html  css  js  c++  java
  • Java Persistence with Hibernate

      我们在Java中谈到持久化时,一般是指利用SQL在关系数据库中存储数据。

      ORM映射元数据,JPA支持XML和JDK 5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系

    框架据此将实体对象持久化到数据库表中;

      JPA 框架中支持大数据集、事务、并发等容器级事务,这使得 JPA 超越了简单持久化框架的局限,

    在企业应用发挥更大的作用。

      在Java应用程序中使用SQL数据库时,Java代码通过Java数据库连通性(Java DataBase Connectivity,JDBC)

    API把SQL语句发到数据库。无论是手工编写SQL并嵌入到Java代码里面,还是由Java代码在运行中生成,都要用JDBC

    API绑定实参,来准备查询参数、执行查询、滚动查询结果表、从结果集中获取值等等。这些都是底层的数据访问任务。

    作为应用程序开发人员,我们更关注需要这些数据访问的业务问题。我们真正想编写的是把对象的代码——类的实例——

    保存和获取到数据库,或从数据库获取,使我们从这类底层的苦差事中解脱出来。

      数据库管理系统提供数据级的安全性。当我们讨论持久化时,考虑以下这些事情:

    1、结构化数据的存储、组织和获取;

    2、并发性和数据完整性;

    3、数据共享。

    领域模型。表——类

      业务逻辑并不直接在SQL结果集的行和列上进行工作,而是与这个面向对象的领域模型

    及其作为关联对象网络的运行时实现进行交互。多态。

      在持久化的上下文中,同一性与系统如何处理高速缓存和事务密切相关。

      类之间的关系如何被映射和处理。数据库中的外键就是你所需要的一切吗??

      在一个中型或者大型应用程序中,按关注点组织类通常比较有意义。持久化是一个关注点。

        1、理解对象-关系持续性

      Hibernate协调应用与关系型数据库的交互。

      在任何对象持续性解决方案中,实体关联的映射与管理都是中心概念。

      分层的体系结构定义了实现不同关注点的代码之间的接口,允许改变现实关注点的方法,无需

    明显破坏其他层中的代码。分层也决定了产生中间层依赖的种类。规则如下:

    1、层由上到下进行通信。每一层仅依赖于其直接地下层。

    2、除了其直接下层,每一层都不知道任何其它层。

    什么是ORM??

    对象-关系映射(ORM)就是利用描述对象和数据库之间映射的元数据,自动(且透明)地把Java

    应用程序中的对象持久化到关系数据库中的表。

    ORM本质上是把数据从一种表示法(可逆)转换为另一种表示法进行工作。

       领域模型表示用在Java应用程序中的业务实体。在分层的系统架构中,领域模型用来在业务层执行业务逻辑

    (在Java中,而不是在数据库中)。这个业务层与下方的持久层交流,以加载和存储领域模型的持久化对象。

    ORM是管理持久化的持久层中的中间件。

       Hibernate Session(会话)是个单线程、非共享的对象,表示使用数据库的一个特定工作单元。它有持久化管理器API,调用它来加载

    和存储对象。(Session的内部由一列SQL语句组成,这些语句要与数据库在某个时点上进行同步,且托管持久化实例的一个印象由Session监控)。

      dialect方言的设置使得Hibernate知道必须生成哪个SQL变种来与数据库进行对话;Hibernate配有许多种方言。

    SessionFactory是给一组特定的映射元数据表示特定Hibernate配置的一个对象。

      Hibernate仅仅定义了三种状态:瞬时、持久和分离。

      Hibernate认为所有的瞬时实例都是非事务的,瞬时状态的修改不能在任何事务的上下文

    执行。这就意味着Hibernate不能对瞬时对象提供任何回滚功能。

      把实例从瞬时状态转换为持久状态有两种方式:调用持久管理器的save()方法或者从已经

    存在的持久实例中创建引用。持久实例通常是同Session相关的,是事务的。

  • 相关阅读:
    定时自动备份数据库
    读<你必须知道的.NET>小结3
    [转载]手把手教你用C#打包应用程序(安装程序)【卸载模块已添加】
    集成测试
    P2P
    20110818炒股日记急拉慢跌的走势
    xp sp3安装IIS
    调用ASP.NET工作流:承载及限制
    20110822炒股日记进入筑底阶段
    用Duplex实现消息广播
  • 原文地址:https://www.cnblogs.com/heyesp/p/4596730.html
Copyright © 2011-2022 走看看