• 什么是ORM?以及JPA如何实现ORM?
  • 学习如何生成JPA实体

简单编程题

练习描述

  • 了解ORM的概念及特点
  • 在本地创建数据库并创建user表,其中包括id,name
  • 使用springboot jpa从数据库表生成User实体类

https://gitee.com/zxy042236/sprig-data-jpa.git

主观题

请简述什么是ORM,为什么要使用ORM,以及使用它的优缺点都有哪些?

什么是ORM

ORM(Object-relational mapping),中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

为什么用ORM

在程序开发中,数据库保存的表,字段与程序中的实体类之间是没有关联的,在实现持久化时就比较不方便。那么,到底如何实现持久化呢?一种简单的方案是采用硬编码方式,为每一种可能的数据库访问操作提供单独的方法。这种方案存在以下不足:

  • 1.持久化层缺乏弹性。一旦出现业务需求的变更,就必须修改持久化层的接口
  • 2.持久化层同时与域模型与关系数据库模型绑定,不管域模型还是关系数据库模型发生变化,毒药修改持久化曾的相关程序代码,增加了软件的维护难度

ORM提供了实现持久化层的另一种模式,它采用映射元数据来描述对象关系的映射,使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁
ORM的方法论基于三个核心原则:

  • 简单:以最基本的形式建模数据
  • 传达性:数据库结构被任何人都能理解的语言文档化
  • 精确性:基于数据模型创建正确标准化了的结构

    优/缺点

    优点

    与传统的数据库访问技术相比,ORM有以下优点:

  • 开发效率更高

  • 数据访问更抽象、轻便
  • 支持面向对象封装

    缺点

  • 降低程序的执行效率

  • 思维固定化