文档章节

利用Hibernate自定义UserType简化编程

Jnoee
 Jnoee
发布于 2015/02/24 17:37
字数 436
阅读 36
收藏 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
HIbernate4 createSQLQuery是取回Date转化为 Joda DateTIme问题求解

代码如下: Type jodaDate = new TypeLocatorImpl(new TypeResolver()).custom(org.jadira.usertype.dateandtime.joda.PersistentDateTime.class); Query query = session.createSQLQuery("s......

开源中国酱油部主任
2016/08/21
208
0
难搞的 Hibernate 二级联动

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

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

JBPM4.3总结五 博客分类: Jbpm4.3 JSPJBPMXML 4 合同审批实例 1.画流程 代码:

晨曦之光
2012/04/11
11.4K
1

没有更多内容

加载失败,请刷新页面

加载更多

Android JNI 开发系列(九)JNI调用Java的静态方法&实例方法

JNI调用Java的静态方法&实例方法 package org.professor.jni.bean;import android.util.Log;/**- Created by peng on 2018/10/11. */ public class Person { /** ......

蔡小鹏
7分钟前
0
0
Flink 原理与实现:Window 机制

Flink 认为 Batch 是 Streaming 的一个特例,所以 Flink 底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从 Streaming 到 Batch 的一个桥梁。Flink 提供了非常完...

xtof
9分钟前
0
0
Fabric.js高级点的教程2--添加表格的方法

有时候我们先在画布上画一个表格类似一下设计软件那种。一方面作为参考线,一方面给人一直专业的赶脚。。。 先贴上一段网上(不是我写的)可以运行的代码 https://codepen.io/rodan8888/pen/e...

xmqywx
10分钟前
0
0
Java中Lambda表达式的使用

Java中Lambda表达式的使用 简介 (译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人...

DemonsI
13分钟前
0
0
深入理解Java中停止线程

一.停止线程会带来什么? 对于单线程中,停止单线程就是直接使用关键字return或者break,但是在停止多线程时是让线程在完成任务前去开启另外一条线程,必须放弃当前任务,而这个过程是不可预...

Ala6
22分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部