实体粒度划分顾名思义就是将一个比较大的对象进行拆分,划分为几个小的对象。但是这种粒度的划分只是针对类对象,而不是针对数据表。
实体的细粒度划分优点:
1,通过细粒度划分使系统逻辑更加清晰
2,性能方面,能提高系统的能耗比(性能/资源消耗)
举例如下:
1,新建表person
create table Person(
id number(20) primary key,
firstName varchar2(50) not null,
lastName varchar2(50) not null,
telphone varchar2(11) ,
email varchar2(30),
zipcode varchar2(30)
)
2,因为类的属性太多,故可以将person类进行粒度的划分,将属性进行归类。
public class Name {
private String firstName = "";
private String lastName = "";
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
public class Contact {
private String email = "";
private String telphone = "";
private String zipcode = "";
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTelphone() {
return telphone;
}
public void setTelphone(String telphone) {
this.telphone = telphone;
}
public String getZipcode() {
return zipcode;
}
public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}
}
将以上两个类作为Person类的属性
public class Person {
private int id ;
private Name name ;
private Contact contact;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Name getName() {
return name;
}
public void setName(Name name) {
this.name = name;
}
3,Person.hbm.xml文件配置如下
<?xml version="1.0" encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="包名">
<class name="Person" table="Person">
<id name="id" column="ID" type="int">
<generator class="sequence">
<param name="sequence">序列名</param>
</generator>
</id>
<component name="name" class="Name">
<property name="firstName" column="firstName" type="string"/>
<property name="lastName" column="lastName" type="string"/>
</component>
<component name="contact" class="Contact">
<property name="email" column="email" type="string"/>
<property name="telphone" column="telphone" type="string"/>
<property name="zipcode" column="zipcode" type="string"/>
</component>
</class>
</hibernate-mapping>
分享到:
相关推荐
在实体映射中,细粒度划分是指在设计Java实体类时,按照面向对象的原则对实体进行细分,而不是仅仅根据数据库表的结构来定义实体。例如,对于一个订单实体,可能包含订单详情、支付信息等多个子模块,这些子模块可以...
随着互联网技术的发展,在互联网上流转的数据信息量与日俱增。那么不可 避免的,从这些数据中提取可用部分并且构建有效的知识,形成...在本文中,我们主要提出并实验了使用卷积神经网络对实体进行细粒度划分的方法。
基于图结构的数据划分方法主要关注RDF图的拓扑结构特性,包括多粒度层次划分、模板划分和聚类划分。这些方法适用于那些通用领域的查询,其语义范畴相对宽泛。例如,多粒度层次划分方法可能将RDF图划分为多个不同粒度...
10. **附录**:提供了各类地理实体的分类代码、实测内容、地理单元信息、粒度划分示例、属性表、元数据属性表以及地理实体集示例,为实际操作提供具体指导。 11. **标准制定背景**:遵循GB/T 1.1—2020《标准化工作...
在变粒度二次聚类方法中,聚合网络是一个重要的概念,它是指通过聚类算法构建的网络结构,该结构能够将数据集中的实体根据它们的相似性连接起来。在初步聚类阶段,聚合网络用于发现数据的局部结构,即通过网络中的...
实体边界的确认需要算法能够正确划分句子中的实体,避免在不该划分的位置进行切割。而实体类别的判断则需要算法能够识别出每个实体的具体类型,比如是人名、地名还是机构名等。 在研究现状方面,NER技术已经相对...
本文档提供的内容主要关注了数据模型的设计,包括数据的逻辑模型和物理模型的构建,并且通过ER图展示了实体间的联系和主题属性信息,同时还涉及了数据仓库中数据粒度划分、数据分割策略以及数据来源的定义等内容。...
同时,对数据集进行划分,通常分为训练集、验证集和测试集。 3. **卷积神经网络(CNN)**:CNN可以捕获局部特征,适用于识别短语和模式。在NER任务中,可以结合字符级和词级的CNN,捕捉不同粒度的信息。 4. **循环...
03 03Hibernate_Component : 实体细粒度的划分,数据库中的一张表在程序中划分为几个部分的实体,配置文件和增、删、改、查的使用。 04 04Hibernate_Composite : 复合主键的使用,在开发中很少用到,一般良好的设计...
粒度划分是一个重要环节,根据数据的详细程度分为详细数据、轻度总结和高度总结,以适应不同的查询需求。 4. **物理设计**:在逻辑模型设计后,考虑物理存储和性能优化,比如数据分割、索引策略和存储分配。数据...
信息粒度关注的是如何将大量的、复杂的数据集划分成更小、更具意义的单元,这些单元被称为信息颗粒(Information Granules)。这些颗粒是对现实世界的一种抽象表示,它们可以是空间、时间或功能关系上的集合,通过...
逻辑设计是数据仓库设计的第三步骤,这一步骤的目的是将概念数据模型转换成关系数据库的二维表,定义数据源和数据抽取规则,考虑粒度划分、数据分割策略、定义合适的数据来源等问题。 物理设计是数据仓库设计的第四...
近年来,可扩展标记语言...首先分析实体包含的语义信息,根据实体的特征定义实体语义相似性计算公式,然后通过衡量这些实体之间的语义相似性,对其进行语义划分,并给出查询结果所属中心实体的定位规则。基于以上工
同时,需要考虑数据的使用场景,例如生成派生字段,以及事务型数据和参照型数据的划分。 2. **在键中增加时间**:企业数据模型关注的是特定时间点的状态,而数据仓库则关注数据随时间的变化。因此,为每个实体的键...
基于安全相似域的风险评估模型(SSD-REM)是一种新的风险评估模型,该模型将粗粒度与细粒度评估相结合,既注重宏观上的把握,又不失对网络实体安全状况的个别考察。 SSD-REM 模型的核心思想是从评估实体安全属性的...