Hibernate自定义类型
Hibernate对一些基本类型的映射提供了很好的支持,但有时候我们需要映射自定义或更复杂的数据类型,比如一个List集合,可以通过基本类型映射实现,需要在数据库中新建一张表,这种方式增加了数据库开销;也可以将List集合中的数据拼接成字符串再存储,这种方式导致程序可读性不友好,同时增加代码的复杂度;Hibernate提供了DiscriminatorType和UserType接口,方便用户自定义需要映射的数据类型。这里以UserType为例实现。
假设用户需要自定义一个类型,名称为ctype
,它是16位字符的char
数组,需要映射到数据库VARCHAR
类型。
首先自定义java类型ctype
:
1 | public class ctype implements Serializable { |
接下来实现HibernateUserType
接口:
1 | /** |
通过注解方式使用:
1 | /** |
完成。
- 本文链接: https://acehjm.github.io/2017/01/03/Hibernate自定义类型/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!