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

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值