一、SQL--structured query language(结构化查询语句)
*主键--PRIMARY KEY
1.主键非空,也就是说,被设定为主键的列在插入数据的时候就不能为空,如果为空SQL就会报错。
2.主键唯一,也就是说,一个表通过 主键 可以唯一确定 一条记录。
*主键选择原则:
1.主键一般都是挑选能够 唯一 表示一条记录的 字段 来做,比如,现在有一个“学生表”里面有“学生编号”、“学生姓名”、“学生年龄”等。
根据原则肯定要以“学生编号”为主键。
2.还有一个原则就是 不经常被修改 的 字段 也可以做主键。“学生编号”在对表操作的时候肯定不会被修改所以也比较符合。
主键没有什么随便不随便设,一个表最好有一个主键,因为这是个好习惯,而且设置主键,方便对数据进行增删改查。
**小结:
主键有三要素:1.唯一 2.非空 3.不可修改
一般,我们在设置主键时,都会设置其为自增。
-------------------------------------------------------------------------------------------------------------------------------------
二、在JAVA中,通过比较 对象引用--对象内存地址 是否相等,或者通过比较 对象的值 是否相等,来判断是否是同一个对象。
1. == ,比较 对象的内存地址值 是否相等。
2.equal() ,比较 对象值 是否相等,我们可以通过重写此方法,来达到目的。
-------------------------------------------------------------------------------------------------------------------------------------
三、Hibernate为了解决二者之间的不同,使用对象标识符(OID)来标识对象的唯一性。OID是关系数据库中,主键在Java对象模型中的等价物。在运行时,hibernate根据OID来维持Java对象和数据库表中的对应关系。
-------------------------------------------------------------------------------------------------------------------------------------
对象标识(Object Identifier)--OID
*什么是OID?
*OID的唯一性
OID(Object ID)应当没有任何业务相关含义
相关推荐
在Hibernate中,每个持久化对象都有一个唯一的OID,通常对应于数据库表的主键。 #### 三、Hibernate的配置步骤 1. **导入Hibernate的Jar包**:这是使用Hibernate的前提条件。 2. **创建Hibernate配置文件**:通常...
【hibernate权威整理文档!...理解和掌握Hibernate的主要组件、配置以及查询方式,是Java开发者必备的技能之一。通过深入学习和实践,开发者可以更好地利用Hibernate来构建高效、稳定的持久层解决方案。
OID(Object Identifier)是对象在数据库中的唯一标识,类似于关系数据库中的主键。 ORM 解决了传统编程语言与关系数据库之间数据表示的不匹配问题,通过元数据(如 .hbm.xml 文件)定义对象与数据库表之间的映射...
### Hibernate4:深入理解对象关系映射框架 #### 一、Hibernate概述 **Hibernate** 是一个面向 Java 领域的持久化框架,它属于 ORM(Object-Relational Mapping,对象关系映射)的一种实现方式。所谓“持久化”,...
在对象术语中,每个对象都有一个唯一的对象标识符(OID),在关系数据库中对应于主键。 【ORM(对象关系映射)】是解决面向对象编程和关系数据库之间不匹配的技术。它通过映射关系数据库的记录为对象,使开发者可以...
Hibernate的强大之处在于它不仅仅是一个简单的持久化框架,更是一种将对象模型与关系模型完美结合的思想体现。掌握了Hibernate之后,开发者能够在复杂的项目中更加高效地管理和操作数据库,同时也能更好地应对未来的...
- **OID查询**:OID(Object Identifier)查询是根据对象标识符来查找对象。这种查询方式主要用于直接获取特定ID的对象。 - **HQL (Hibernate Query Language)**:HQL是一种面向对象的查询语言,它提供了一种灵活且...
2. **OID检索**:OID即Object Identity,通过对象的唯一标识符进行检索。这种方式通常用于获取某个具体实例。 3. **HQL检索**:HQL(Hibernate Query Language)是一种面向对象的查询语言,类似于SQL,但语法更接近...
内容涵盖安装 Hibernatetools 插件、Session 核心方法、持久化对象生命周期、对象关系映射(1-n、1-1、n-n、继承映射)、检索策略、检索方式(对象导航图、OID 检索、HQL、QBC、本地SQL)、Hibernate 一\二级缓存、...
如果该属性为true,则Session会首先在缓存中查找,如果缓存中不存在,会返回一个代理类对象而不是真实实体对象,等到实际使用该对象时(比如获取OID以外的其他属性)才会真正查询数据库。如果最终数据库中没有符合...
这些注解可以添加在属性上,也可以添加在 getXxx() 方法之上。 * @Entity:映射一个实体类,指定关联的表名。 * @Id:映射 OID,指定主键。 * @GeneratedValue:指定 OID 的生成策略,默认值是 GenerationType.AUTO...
组件类没有独立的OID(对象标识符),不会在数据库中单独创建表,且不能单独持久化,但能与其他持久化类关联。 Hibernate的缓存机制是提高系统性能的关键。一级缓存是基于Session的,它保存了自Session打开以来所有...
- `load`方法是基于对象标识符(OID)来获取对象,它返回的是一个代理对象,实际的对象数据会在第一次访问属性时从数据库加载,实现了延迟加载。如果对象不存在,会抛出`EntityNotFoundException`。 - `get`方法...
### Hibernate详解及应用 #### 一、Hibernate简介 Hibernate是一个开放源码的Java持久层框架,它通过一种称为对象关系映射(Object Relational Mapping,简称ORM)的技术,实现了Java对象与关系型数据库表之间的...
### Hibernate缓存技术研究 #### 一、引言 ...总之,Hibernate的缓存机制是提高应用程序性能的关键技术之一。通过对缓存结构的理解以及合理配置缓存策略,可以有效地提高数据访问效率,减少数据库的负担。
### Hibernate面试题详解 #### 一、主键生成方式中的`native`与`identity`区别 **1.1 native方式** - **定义**: `native`是一种动态选择标识符生成策略的方式,它根据所使用的底层数据库系统自动选择最适合的生成...
### Hibernate的配置与使用详解 #### 一、Hibernate概述 Hibernate是一种开源的对象关系映射(Object-Relational Mapping,简称ORM)框架,它为Java应用提供了利用SQL数据的持久化解决方案。通过ORM技术,开发人员...