`
zym_nanako
  • 浏览: 83162 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

答复: 讨论一下ORM中的自定义类型有用么?

阅读更多
User Type是根据具体的需求来的。

比如说,一个User有很多个Email,但是有多少个并不确定。这种情况下,我们有2种设计:第一种,设计一张User_Email表,与User表形成多对一的关系。还有一个种,在User表中增加一个字段,这个字段表示Email,多个Email数据之间用分号隔开进行存储。

这两种设计都是ok的,显然后面一种违反了所谓的范式,不过有时候可能为了性能等原因,我们也会采取后面一种方式,因为它简单易用,查询时无需对字表进行关联查询。在这种情况下,如果我们使用Hibernate的User Type,可以把这样的一个字段映射成Java中的List<String>,然后由ORM框架来帮你做底层的类型转化与处理。这样显然会方便很多。不过User Type的缺点就是该字段无法进行精确的Query查询,所以也需要在设计时加以考虑。
分享到:
评论

相关推荐

    K-ORM 自定义ORM工具

    工具简介:自己实现的简单的ORM工具,使用到的技术:JDBC+java反射机制。 简单的文档:rar解压后,DOC目录下:K-ORM.DOC

    spring-orm-5.0.8.RELEASE-API文档-中英对照版.zip

    赠送jar包:spring-orm-5.0.8.RELEASE.jar; 赠送原API文档:spring-orm-5.0.8.RELEASE-javadoc.jar; 赠送源代码:spring-orm-5.0.8.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-orm-5.0.8.RELEASE.pom;...

    eform自定义表单

    北京方程软件开发的开源工作流,eform自定义表单,大大方便了程序员开发工程中,表单设计的繁琐。

    spring-orm-4.2.2.RELEASE-API文档-中文版.zip

    赠送jar包:spring-orm-4.2.2.RELEASE.jar; 赠送原API文档:spring-orm-4.2.2.RELEASE-javadoc.jar; 赠送源代码:spring-orm-4.2.2.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-orm-4.2.2.RELEASE.pom;...

    spring-orm-5.0.8.RELEASE-API文档-中文版.zip

    赠送jar包:spring-orm-5.0.8.RELEASE.jar; 赠送原API文档:spring-orm-5.0.8.RELEASE-javadoc.jar; 赠送源代码:spring-orm-5.0.8.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-orm-5.0.8.RELEASE.pom;...

    Django ORM 自定义 char 类型字段解析

    主要介绍了Django ORM 自定义 char 类型字段解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    spring-orm-4.2.2.RELEASE-API文档-中英对照版.zip

    赠送jar包:spring-orm-4.2.2.RELEASE.jar; 赠送原API文档:spring-orm-4.2.2.RELEASE-javadoc.jar; 赠送源代码:spring-orm-4.2.2.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-orm-4.2.2.RELEASE.pom;...

    x-eform-自定义表单

    无限制版版本仅供个人学习用,用于商业用途请联系软件厂商,个人不负任何责任,敬请注意。

    Django框架orM与自定义SQL语句混合事务控制操作

    在前面的一篇文章中已经讲过Django事务小结 ,但里面没有提到在同一个方法里面既有ORM 又有 自定义SQL 语句的情况。 如果是单纯的ORM ,可以这样做,假设已经定义好model, User,Category。 from django.db import ...

    Java自定义的类似ORM的数据库操作框架

    自己定义的类似ORM的MySQL数据库增伤改查的框架,直接配置session就能使用,简单的增删改查不用再写sql,方便、灵活。

    反射+注解自定义ORM

    利用Java反射和注解实现自定义的ORM,并提供相应的工具类自动生成CRUD的SQL语句,同时定义了完整的异常处理机制

    ORM自定义框架

    关于orm框架的一个自定义框架,方便人们理解hibernate框架的原理

    Python 进阶(三):Python使用ORM框架SQLAlchemy操作Oracle数据库

    本文主要介绍Python使用ORM框架SQLAlchemy操作Oracle数据库。 1. 安装Oracle Instant Client 2. 安装依赖库 使用以下命令来安装SQLAlchemy和cx_Oracle库: pip install SQLAlchemy pip install cx_Oracle 3.创建...

    gino:GINO不是ORM-SQLAlchemy核心上的Python异步ORM

    gino:GINO不是ORM-SQLAlchemy核心上的Python异步ORM

    数据库:Sqlite,ORM:EF,实现WCF的四种挂载方式

    实现wcf的四种挂载方法,内附有配置方法的说明以及可能遇到的问题解决方法。 还有sqlite作为数据库的示例。

    types-redux-orm:Redux-Orm的打字稿类型

    使用 打字稿类型重要的这是我目前在我的一个项目中使用的类型的Alpha版本。 在我继续进行该项目时,它们将被更新。 不保证向后兼容性。路线图18年1月13日-Beta版18年2月3日-稳定发布并合并到安装npm install types-...

    redis_orm:Redis的ORM

    RedisOrm应该是几乎直接替代ActiveRecord的2.x的它基于高级键值存储,正在开发中。 这是标准模型定义: class User &lt; RedisOrm :: Base property :first_name , String property :last_name , String timestamps ...

    自定义Orm框架的实现

    该项目是一个Hibernate框架的简单实现,里面通过Jdk5.0的Annotation实现从对象到数据库之间的映射, 功能类似于小型的Hibernate框架

Global site tag (gtag.js) - Google Analytics