Hibernate 中UserType 接口用于设计自定义的类型与数据库的字段进行映射关系,这里的数据库字段可以是多个字段,而不仅仅是某一个字段。
那么Hibernate 这样的设计对程序有何意义或者说优点在于何处呢?因为我们同样可以使用编码的方式实现这样的功能!
使用UserType 最重要的一个原因是它可以实现业务层数据与数据库数据的分离,从而产生了自定义类型的可复用性和可维护性(即可可扩展性)。这是一个典型的开闭原则的体现。
接下来就是对UserType 接口定义的各方发的一个简单介绍。
1)isMutable:方法返回false时,Hibernate 不再对其进行脏数据检查
2)sqlTypes:UserType 接口映射的数据库字段类型,可以是多个字段,类型可以查看java.sql.Types 类型
3)returnedClass:自定义数据类型
4)nullSafeGet:将数据库数据转化为自定义类型
5)nullSafeSet:将自定义类型转换为数据库类型
6)disassemble:序列化。
7)assemble:反序列化。
8)replace:
9)equals:
10)deepCopy:
分享到:
相关推荐
&offset=0&limit=10&name=test&userType=1名称类型说明备注userIdint当前登陆的用户Idtokenstring当前登陆
example5:此例子是用于保存接口不用传递id参数,但是修改接口需要传id,此处用分组校验来实现, 下面的意思是:分组为UserParam的id不能为空 @CheckParams(notNull = true,groups=UserParam.class) private ...
栈的基本操作,任何用户都可以使用此栈的接口,只要用户在主代码中将USERTYPE型定义即可
11.2.2 用UserType映射枚举类型 11.2.3 实现CompositeUserType接口 11.2.4 运行本节范例程序 11.3 操纵Blob和Clob类型数据 11.4 小结 11.5 思考题 第12章 映射继承关系 12.1 继承关系树的每个具体类...
11.2.2 用UserType映射枚举类型 11.2.3 实现CompositeUserType接口 11.2.4 运行本节范例程序 11.3 操纵Blob和Clob类型数据 11.4 小结 11.5 思考题 第12章 映射继承关系 12.1 继承关系树的每个具体类...
11.2.2 用UserType映射枚举类型 11.2.3 实现CompositeUserType接口 11.2.4 运行本节范例程序 11.3 操纵Blob和Clob类型数据 11.4 小结 11.5 思考题 第12章 映射继承关系 12.1 继承关系树的每个具体类...
11.2.2 用UserType映射枚举类型 11.2.3 实现CompositeUserType接口 11.2.4 运行本节范例程序 11.3 操纵Blob和Clob类型数据 11.4 小结 11.5 思考题 第12章 映射继承关系 12.1 继承关系树的每个具体类...
服务接口定义 /** * 文件上传 1:头像 2:显示图片 3:个人封面 :4:基础图片 * @param request * @param response * @param uid 用户id * @param userType 文件上传 1:头像 2:显示图片 3:个人封面 :4:基础...
试用新的Spring-data CrudRepository接口。 使用joda中的Money类,包括使用org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyAmount的持久性配置。 使用推土机映射器。 使用自定义JSON序列化器/反序列化...
fileContent字段映射为Spring所提供的BlobByteArrayType类型,BlobByteArrayType是用户自定义的数据类型,它实现了Hibernate 的org.hibernate.usertype.UserType接口。BlobByteArrayType使用从sessionFactory获取...
5.3.4 创建UserType 5.3.5 创建CompositeUserType 5.3.6 参数化定制类型 5.3.7 映射枚举 5.4 小结 第6章 映射集合和实体关联 6.1 值类型的set、bag、list和map 6.1.1 选择集合接口 ...