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

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

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

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

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

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

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

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

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

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

a value of type "const struct Menu * "cannot be assigned to an entity of type "struct Menu"

struct Menu { u8 **Text; u8 TextNum; void* (*Action)(); }; struct Menu * BarMenu; #define...
  • epsilonk
  • epsilonk
  • 2016年03月25日 19:38
  • 524

类似Build Error: #513: a value of type "int" cannot be assigned to an entity of type "char *"

Build Error: #513: a value of type "int" cannot be assigned to an entity of type "char *"
  • z497544849
  • z497544849
  • 2017年01月19日 09:21
  • 400

区分EntityType与value Type

Hibernate makes the following essential distinction:■ An object of entity type has its own database ...
  • xuanlingtao
  • xuanlingtao
  • 2007年01月20日 20:05
  • 933

keil(MDK)中出现error: #513: a value of type "int" cannot be assigned to an entity of type "char *",即函数返

对于Value=Fun()调用,出错究其原因一般有以下几点:  1、函数返回值是int型,Value是char *  2、函数返回值是char*,Value是char *,但是调用Fun函数的文件...
  • slj_win
  • slj_win
  • 2014年10月11日 12:45
  • 13515

Hibernate对原生sql处理及结果集和VO的映射

在action层明明看到有list值,传到jsp层就是不显示,后debug跟到jsp,发现也是可以循环的,可“奇怪”的就是不显示。 经过一番折腾,才发现经过sql获得的List不是“理所当然“的Lis...
  • richerg85
  • richerg85
  • 2014年12月05日 12:03
  • 9982

Hibernate数据类型及JPA的Entity类与Hibernate的Entity类的区别

Entity类型是Hibernate数据类型之一,Hibernate的另一种数据类型是Value类型。 1. Hibernate的Value类型 Value类型是基本的数据类型,这些数据没有独立的生命...
  • taiyangdao
  • taiyangdao
  • 2016年05月25日 15:31
  • 1622

从ValueType讨论c#的值类型系统

无论上层语言类型多么复杂,在.net平台上,都逃不过CTS 的约束,今天我想谈的不是CTS,而是上层语言C#类型的一点研究。public struct test { publi...
  • shanghongshen
  • shanghongshen
  • 2015年07月29日 12:52
  • 1703

ssh框架中 hibernate 的bean中 的java.math.BigDecimal 要改成 integer 或者 long

从oracle数据库中的integer字段通过hibernate的反向工程,生成的bean字段为java.math.BigDecimal类型。 但是struts2框架中的xworks对从jsp页面穿...
  • honghuajun
  • honghuajun
  • 2012年05月27日 20:50
  • 8279

Java persistence with hibernate concept 2 -- Entity type , Value type

We advocate a design with more classes than tables: One row represents multiple instances. Because d...
  • maniacdown
  • maniacdown
  • 2007年08月27日 10:52
  • 313
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate中实体类型(Entity Type)与值类型(Value Type)的概念分析
举报原因:
原因补充:

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