文档章节

利用Hibernate自定义UserType简化编程

Jnoee
 Jnoee
发布于 2015/02/24 17:37
字数 436
阅读 40
收藏 0

#1. 创建自定义UserType Hibernate的自定义UserType用于扩展自定义类型的数据存取机制,通过该机制可以把Entity中的任意类型的属性转换成自定义的格式存入数据库,在读取数据时又可以按照自定义的格式还原成自定义的类型。例如:

#2. 注册自定义UserType 有了这些自定义的UserType后,存取的转换变成了透明的,只需要在Entity对应的属性上用注解来声明引用这些自定义类型即可。但是如果每次使用自定义类型时需要指定完整的类名,又有点繁琐了。可以在放置自定义UserType类的包下建一个 pakcage-info.java来声明这些UserType,从而简化注解。

#3. 使用自定义UserType 声明了这些自定义UserType以后,使用时就变得简单了:

@Entity
@Table(name = "Tmp_Company")
public class Company extends UuidEntity {
    ...
    @Type(type = "Json")
    private CompanyExtendInfo extendInfo;
    ...
}

只需要一行简单的注解就可以将一个自定义类型的对象转换成Json格式存入数据库,从数据库取出时又自动转换成自定义类型的对象。

© 著作权归作者所有

共有 人打赏支持
Jnoee
粉丝 4
博文 8
码字总数 5282
作品 0
深圳
架构师
私信 提问
ORM--UserType--Hibernate4.0注解版

使用Hibernate很长时间了,现在把一些内容自己小结一下。 这里介绍Hibernate使用UserType,UserType就是用户自定义类型,这里的类型指的是除了Hibernate定义的那些类型之外的用户自己定义的。...

have2cow
2013/08/22
0
0
使用Enum的自定义字段来做hibernate持久化

Enum类型的字段进行hibernate持久化时,常见的是使用@Enumerated(EnumType.ORDINAL)或EnumType.STRING方式,这里不再描述。当你的Enum中有自定义字段,并且你希望用该字段作为hibernate持久化...

lwei
2012/09/13
0
0
难搞的 Hibernate 二级联动

有两个类 User manytoone Unit. User ,Unit中都有一个不同的enum属性 userType/unitType... 我想要的效果是下拉菜单 选择User 的userType属性就决定了User 关联的Unit只能是某些unitType属性...

dylanliang
2011/05/10
518
4
JBPM4.3总结五,jbpm详细讲解,案例,会签,并行执行任务等

JBPM4.3总结五 博客分类: Jbpm4.3 JSP JBPM XML 4 合同审批实例 1.画流程 代码: 2.流程说明 1.填写合同 分配给 user_dept 2.填写完后,选择流向 2.1 会签(计划部 法务部 IT规划部) 2.2 ...

晨曦之光
2012/04/11
11.9K
1
Hibernate4实战 之第七部分:最佳实践

设计细颗粒度的持久类并且使用<component>来实现映射。 例如使用一个Address持久类来封装 street, suburb, state, postcode. 这将有利于代码重用和简化代码重构(refactoring)的工作。 对持久...

jinnianshilongnian
2012/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于ComponentOne For WinForm 的全新控件 – DataFilter数据切片器(Beta)

概述 数据切片器在电子商务网站上很常见 - 它们可以帮助用户快速过滤所选商品,并且所有过滤选项都可以在一个地方使用,通常包含核心控件类型为:清单,范围栏和单选按钮等。在ComponentOne ...

葡萄城技术团队
9分钟前
0
0
Spring Data JPA 常见异常

异常一: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRepository': Invocation of init method failed; nested exception i......

小99
9分钟前
0
0
聊聊flink的EventTime

序 本文主要研究一下flink的EventTime SourceFunction flink-streaming-java_2.11-1.7.0-sources.jar!/org/apache/flink/streaming/api/functions/source/SourceFunction.java /** * Inte......

go4it
22分钟前
1
0
如何解决 homebrew 更新慢的问题

之前一直困扰于 Homebrew 的更新速度,曾试过修改更新源(清华、中科大等)的方式,但是并没什么卵用;也试过设置 curl 代理的方式,但是 brew 走的好像不是 curl 的方式,所以也没用。 通过...

whoru
27分钟前
2
0
TiDB EcoSystem Tools 原理解读系列(二)TiDB-Lightning Toolset 介绍

简介 TiDB-Lightning Toolset 是一套快速全量导入 SQL dump 文件到 TiDB 集群的工具集,自 2.1.0 版本起随 TiDB 发布,速度可达到传统执行 SQL 导入方式的至少 3 倍、大约每小时 100 GB,适合...

TiDB
29分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部