Hibernate中实体类型(Entity Type)与值类型(Value Type)的概念分析

原创 2012年03月22日 20:36:00

Hibernate中的实体类型和值类型,大家在实际应用中都有一个大致的概念,但是如何更明确的给他们下一个合适的定义呢?

我们需要从Hibernate看待各种对象出发。

对象内有用于标识用的属性(一般都是id),该标示属性在数据库有其对应的主键,而且该对象可以被多出引用(比如当做其他对象的属性),称之为实体类型

而类本身没有用以标识的属性,依赖于某个对象(生命周期取决于所依赖的对象),并且无法被两个以上的对象引用的对象,则称之为值类型

实体类型(Entity Type)与值类型(Value Type)定义对照表
比较特性 实体类型(Entity Type) 值类型(Value Type)
对象中,是否存在用以标识该对象的属性(如果主键是复合主键,可能是多个),而该属性在数据库中有其对应的主键。 存在,而类中对应主键的属性,则用来标识对象。 没有,因此对象本身没有用来标识对象的属性(但是该类可能会有专属的Table,只是Table中的主键,并不会对应到对象中的任一属性。)
能否被一个以上的对象所引用 能,被其他对象引用时,在数据库内通过外键来关联,也正因为可以被一个以上的对象所引用,因此要具备用来标识的属性。 否。
生命周期 可独立自主 取决于所依赖的类

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Hibernate UserType 自定义类型

转自 :http://www.iteye.com/topic/182797    仔细看看hibernate的DOC发现不少惊奇的东东,后悔自己的旁门助道是多么的无用. 本次主要实现目的. 数据库...

Hibernate 的类型

基本值类型 内置的 basic mapping types 可以大致地分类为: integer, long, short, float, double, character, byte...

hibernate property type映射属性

Hibernate映射类型 1、Hibernate中映射关系文件中,每个字段的配置都 需要通过type来指定转换的类型,这个类型可以 是Java类型,也可...
  • JavaMoo
  • JavaMoo
  • 2017年03月11日 20:27
  • 738

Hibernate系列学习之映射持久化类--Hibernate中实体类型和值类型概念辨析

一、前言在学习Hibernate的映射 持久化类部分时,遇到两个概念–实体类型、值类型,一直搞不明白,现在将自己的理解整理一下。二、概念辨析2.1前言当查看域模型时,你将会注意到类之间的一个区别:2....

iOS: 学习笔记, 值与引用类型(译自: https://developer.apple.com/swift/blog/ Aug 15, 2014 Value and Reference Type

值和引用类型 Value and Reference Types 在Swift中,有两种数据类型. 一是"值类型"(value type), 它是每一个实例都保存有各自的数据,通常定义为struct...

关于Swift中的值类型(Value Types)与引用类型(Reference Type)

Swift里面的类型分为两种: ●值类型(Value Types):每个实例都保留了一分独有的数据拷贝。如结构体 (struct)、枚举(enum) 和元组(tuple)。 ●引用类型(Refer...

值类型不是值类型(ValueType is NOT a Value Type):闲谈.Net类型

值类型不是值类型(ValueType is NOT a Value Type):闲谈.Net类型  .Net的类型系统比较复杂,很多人经常给绕进来,比如《[原创]慢话interface是...

C#中的参数传递:值类型(value type)和引用类型(reference type)

由于在.NET中存在两种类型,分别是值类型(value type)和引用类型(reference type),所以很多关于C#中参数传递的混淆就因此而生。本文首先从值类型和引用类型的辨析入手,然后解释...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate中实体类型(Entity Type)与值类型(Value Type)的概念分析
举报原因:
原因补充:

(最多只允许输入30个字)