`

请您先登录,才能继续操作

实体映射策略

阅读更多

实体粒度设计:

一、面向设计的粒度细分:主要是以一种组件(Component)的方式实现;组件即从属于某个整体的一个组成部分。Component没有标识,它作为一个逻辑组成,完全从属于实体对象。在hibernate的hbm.xml配置文件中中可以通过component节点结组件时行声明。如下图所示:

 

以达到细分TUser中的两个逻辑组成部分

二、面向性能的粒度细分:针对业务逻辑,通过合理的细粒度对象,提高系统的能耗比;在此最好的一个例子就是数据库中存大字段clob、blob字段带来的性能问题。解决这道可以利用hibernate3中提供了属性延迟加载功能在调用取数据时才真正从数据库中读取数据。至于hibernate2中则可以采用继承上的粒度划分来解决.如下例子:将原来的TUser对象拆分为TUserInfo和TUserProfile.

public class TUserInfo implements Serializable{

private Integer id;

private String name;

private Integer age;

......getter/setter.....

}

public class Tu TUserInfo implements Serializable{

private Blob image;

private Clob resume;

...getter/setter....

}

这样一来,我们对于无需操作resume/image数据的应用逻辑而言,我们可以通过TUserInfo对数据进行加载,而对于需要处理resume/image类型的,可以通过TUserProfile进行处理.

对于TUserInfo.hbm.xml配置文件要写三个属性即可,而对于继承它的TUserProfile实例类配置文件TUserProfile.hbm.xml则要写父类的三个属性和本身的两个属性,总共五个属性,最重要的是在这个配置文件中必须加上一个声明为显式多态关系。声明为显式多态的类:

<hibernate-mapping>

<class name="***.TUserProfile" table="T_USER"

polymorphism="explicit">

.....

 

 

  • 大小: 18.4 KB
分享到:
评论

相关推荐

    FastMapper:强大的基于约定的、可定制的和最快的对象-对象映射工具。它对实体到 DTO、DTO 到实体映射策略很有用

    它对于实体到 DTO、DTO 到实体映射策略很有用。 ###我在哪里可以得到它? 可以在 NuGet 上找到最新版本 PM&gt; Install-Package FastMapper ###入门 ####映射到新对象 FastMapper 创建对象并将值映射到它。 ...

    Hibernate实体映射

    本资源“Hibernate实体映射”提供了一个深入理解这一关键概念的机会,通过实例代码和教程笔记,帮助学习者更好地掌握Hibernate的核心功能。 一、Hibernate实体映射基础 在Hibernate中,实体映射是将Java对象模型与...

    注解框架实体类映射

    Hibernate支持多种注解,如@Entity表示该类为数据库表的实体,@Table定义表名,@Id标识主键,@GeneratedValue指定主键生成策略,@Column定义字段与列的对应,@OneToMany、@ManyToOne、@OneToOne和@ManyToMany则用于...

    hibernate实体映射文件字段设置默认值

    ### Hibernate实体映射文件字段设置默认值 在Hibernate框架中,实体映射文件(通常为`.hbm.xml`)用于定义Java对象与数据库表之间的映射关系。这其中包括了属性到数据库表列的映射、主键生成策略、以及一些高级特性...

    ado.net Entity Framework学习 CSEFEntityDataModel

    - **One2One、TableMerging、TablePerType、TablePerHierarchy、TableSplitting**:这些可能是不同的目录,分别代表了不同类型的实体映射策略: - **One2One**:一对一关系的示例。 - **TableMerging**:表合并,...

    JPA学习笔记帮助文档

    #### 一、继承与实体映射策略 在Java Persistence API (JPA)中,实体的继承模型是非常重要的一个概念,它允许开发人员以灵活的方式组织和存储实体类的层次结构。JPA支持三种主要的继承映射策略:`SINGLE_TABLE`、`...

    HIbernate PPT

    最后,集合映射和实体映射策略展示了如何在Hibernate中处理复杂的数据结构。 【标签】:“Hibernate PPT”标签明确了这些内容是关于Hibernate的,这是一款强大的Java持久层框架,通过ORM技术简化了数据库操作。 ...

    ItcastOA_文档2_实体映射_分页方案_文件下载_解决异常.doc

    ### ItcastOA_文档2_实体映射_分页方案_文件下载_解决异常 #### 一、实体映射 实体映射是IT项目开发中非常重要的环节之一,特别是对于那些涉及复杂数据交互的应用程序来说更是如此。在本节中,我们将详细探讨...

    java根据实体类生成Hibernate映射文件

    需要注意的是,这只是一个基本的实现,实际的生产环境中可能需要处理更复杂的情况,如自定义生成策略、关联关系映射、枚举类型等。此外,对于大型项目,通常会使用代码生成工具(如MyBatis的MyBatis Generator或...

    mysql数据库表映射实体生成

    MySQL数据库表映射实体生成是一种常见的开发任务,特别是在Java企业级应用中,它涉及到ORM(对象关系映射)技术,如Hibernate或MyBatis。这个工具类的目标是自动化将数据库中的表结构转换为编程语言中的实体类,这样...

    JPA实体映射对时间字段的处理

    例如,在使用`java.util.Date`时,若数据库中的字段类型为`java.sql.Date`,则可能需要调整映射策略: ```java @Temporal(TemporalType.DATE) ``` 改为 ```java @Temporal(TemporalType.TIMESTAMP) ``` 或者直接...

    推荐一款Java实体映射工具---mapstruct(csdn)————程序.pdf

    MapStruct 是一个强大的Java实体映射工具,它旨在简化对象之间的转换过程,特别是在处理大量属性映射时。传统的手动设置属性或使用BeanUtils.copyProperties()方法可能会效率低下,且易出错。MapStruct通过注解...

    用MyEclipse自动生成hibernate映射文件和实体类

    在使用Hibernate框架进行对象关系映射(ORM)时,MyEclipse提供了自动生成映射文件和实体类的功能,极大地简化了数据库与Java类之间的绑定工作。以下是详细步骤和相关知识点: 1. **DB Browser视图**:在MyEclipse...

    myibatis 生成oracle 对应映射文件

    `jdbcConnection`元素用于设置JDBC连接属性,而`javaModelGenerator`元素则定义了实体类的生成位置和生成策略。 此外,还有`sqlMapGenerator`和`javaClientGenerator`元素,分别用于生成XML映射文件和Mapper接口。...

    Hibernate教程09_关系映射之组件映射

    组件映射是Hibernate中的一种高级映射策略,用于将一个类的属性组织成一个逻辑组件,这个组件可以有自己的持久化属性。 首先,我们需要理解什么是组件(Component)。在Hibernate中,组件通常是一个没有独立生命...

    mybatis-generator-数据库表映射实体,生成mapper.xml,适用于mybatis-puls

    适用于java,数据库表映射实体,mapper.xml。 比原版本新增:实体类中添加了@Data lombok注解;添加了Myabtis-plus中的注解@TableName和@TableField;添加了sql中对字符串的空判断,之前只有null判断;DAO层继承了...

    generator自动生成Mybatis实体以及映射文件

    Mybatis Generator是一款强大的工具,它能够自动化生成Mybatis框架所需的实体类、Mapper接口与XML映射文件,大大减轻了开发人员的手动编码工作,提高了开发效率。本篇将详细介绍generator的使用及其背后的原理。 ...

    一种面向电动汽车控制的AUTOSAR可运行实体任务映射方法.pdf

    总结来说,本研究为电动汽车控制软件的设计和开发提供了一种具有实践指导意义的创新映射策略。通过优化任务调度和数据处理,显著提高了电动汽车控制系统的性能和效率。这种基于AUTOSAR架构的任务映射方法,不仅提高...

    mybaties自动生成实体类及映射文件

    同时,你可以设置需要生成实体类和映射文件的表名,以及自定义生成规则,比如字段命名策略、是否生成注释等。 实体类(Entity Class)是Java对象,代表数据库中的表记录。MBG会为每个表生成对应的实体类,其中包含...

Global site tag (gtag.js) - Google Analytics