您现在的位置是:首页 > 正文

1.Hibernate

2024-04-01 05:43:39阅读 1

1.什么是Hibernate

  • 一个框架
  • 一个 Java 领域的持久化框架
  • 一个 ORM 框架

2.对象持久化

  • 狭义的理解,“持久化”仅仅指把对象永久保存到数据库中
  • 广义的理解,“持久化”包括和数据库相关的各种操作:
         保存:把对象永久保存到数据库中。
         更新:更新数据库中对象(记录)的状态。
         删除:从数据库中删除一个对象。
        查询:根据特定的查询条件,把符合查询条件的一个或多个对象从数据库加载到内存中。

        加载:根据特定的OID,把一个对象从数据库加载到内存中。

为了在系统中能够找到所需对象,需要为每一个对象分配一个唯一的标识号。在关系数据库中称之为主键,而在对象术语中,则叫做对象标识(Object identifier-OID). 


3.ORM

  • ORM(Object/Relation Mapping): 对象/关系映射
       -ORM 主要解决对象-关系的映射
        
面向对象概念 面向关系概念
对象 表的行(记录)
属性 表的列(字段)

       -ORM的思想:将关系数据库中表中的记录映射成为对象,以对象的形式展现, 程序员可以把对数据库的操作转化为对对象的操作。
      -ORM 采用 元数据来描述对象-关系映射细节, 元数据通常采用 XML 格式, 并且存放在专门的对象-关系映射文件中.



4.流行的ORM框架

  • Hibernate:
        -非常优秀、成熟的 ORM 框架。
        -完成对象的持久化操作
        -Hibernate 允许开发者采用面向对象的方式来操作关系数据库。
        -消除那些针对特定数据库厂商的 SQL 代码
  • myBatis:
        -相比 Hibernate 灵活高,运行速度快
        -开发速度慢,不支持纯粹的面向对象操作,需熟悉sql语句,并且熟练使用sql语句优化功能 
  • TopLink
  • OJB

5.Hibernate 与 Jdbc 代码对比




6.安装 hibernate 插件

  • 安装方法说明(hibernatetools-4.1.1.Final):
- Help --> Install New Software...
-Click Add... 
-In dialog Add Site dialog, click Archive... 
-Navigate to hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605.zip  and click  Open 
-Clicking OK in the Add Site dialog will bring you back to the dialog 'Install' 
-Select the Jboss Tools hibernatetools Nightly Build Update Site that has appeared 
-Click Next  and then Finish 
-Approve the license 
-Restart eclipse when that is asked















网站文章

  • openGL学习之绘制一个矩形

    openGL学习之绘制一个矩形

    一、openGL相关库 1、openGL核心库,gl 2、openGL实用程序库, glu 3、openGL编程辅助库,aux 4、openGL实用程序工具包 , glut 5、Windows专用库,wgl 其函数命名规则为 <库前缀><根命令><可选参数个数><可选参数类型> 二、绘制一个矩形 1、未使用裁剪 #include...

    2024-04-01 05:42:59
  • JVM:如何分析线程堆栈

    JVM:如何分析线程堆栈

    JVM:如何分析线程堆栈英文原文:JVM: How to analyze Thread Dump参与翻译 (2人) : leoxu, YiHunter在这篇文章里我将教会你如何分析JVM的线程堆栈以及如何从堆栈信息中找出问题的根因。在我看来线程堆栈分析技术是Java EE产品支持工程师所必须掌握的一门技术。在线程堆栈中存储的信息,通常远超出你的想象,我们可以在工作中善加利用这些信息。...

    2024-04-01 05:42:46
  • java 文件流 乱码_Java IO流读取中文文本文件乱码问题,完美解决

    package chenlei.test;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStrea...

    2024-04-01 05:42:06
  • MYSQL:数据表的基本操作--创建+查看+修改+删除 热门推荐

    数据表的基本操作--创建+查看+修改+删除

    2024-04-01 05:41:59
  • NFS文件共享服务搭建步骤说明

    NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 sun 公司开发。通过使用 NFS协议,客户机可以像访问本地目录一样访问远程 NFS 服务器中的共享资源。NFS 也是 NAS存储设备必然支持的一种协议,但是因为没有用户认证机制,而且数据在网络上明文传输,安全性很差,所以一般只能在局域网中使用。

    2024-04-01 05:41:51
  • 最后一战(LastBattle)服务器源码分析8.1——定时器

    定时器: 目前主流的定时器实现包括时间轮和最小堆,最后一战是用最小堆(优先队列)实现的定时器,下面先分析下其具体实现: typedef std::function HeartbeatCallback; typedef int64_t TimeKey; class CBattleTimer { public: CBattle...

    2024-04-01 05:41:11
  • 一年工作回顾及总结

    看到别人的工作总结,不错,分享下。 一年回顾: 去年7月4号入职到现在已经有一年零2个月了,一直想写下一年工作回顾及总结,但是每次打开文档时总是以各种理由推后,一来是想写的太多但是又不知从哪里写起,二来是总想把自己的一年工作经历写的真实好看一点,以至于推到现在才写这个总结及回顾,昨天一个大学玩的比较好的同学跟我讲起了他的创业,我也趁今天好好回顾总结下过去的一年,想到哪就写到哪吧。

    2024-04-01 05:41:05
  • 如何配置Apple推送证书 push证书

    如何配置Apple推送证书 push证书

    作证书,然后使用Apple的推送功能配置push证书,就可以得到了。PS:push没有描述文件,所以不。推送证书是用来配置在网站上推送的,放服务器的。不是用来打包编译app的。PS:开启推送后要重。3...

    2024-04-01 05:40:59
  • C++顺序容器

    C++顺序容器

    标准库定义了三个顺序容器适配器:stack(栈适配器),queue(队列适配器),priority_queue(优先队列),所有的适配器都要求容器具有添加,删除,以及访问尾元素的能力。传递给assig...

    2024-04-01 05:40:52
  • python中xlrd读取xlsx读取异常的处理方法

    python中xlrd读取xlsx读取异常的处理方法

    最近在写自动化测试工具的时候搭建了一个虚拟环境,在新下载的xlrd的版本过高导致已经不支持xlsx的文件读取报错误异常为in open_workbook raise XLRDError(FILE_FO...

    2024-04-01 05:40:07