hibernate存取json数据.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
hibernate 存取json 数据 一、场景 public class OrderModel { private ListString favorableDescList; } 订单中会存储一些优惠信息,方便页面展示时使用,如: 1、满 100 减 50 2、参与【老会员真情回馈——精品课程体验活动】,仅需支付 200.00 学币 3、【Oracle + PL/SQL 实战】套装课程的【抢购】活动,优惠 120.00 学币 ……等等 如图所示,我们在页面给用户展示他们参与的优惠信息: 二、分析 如上优惠信息有如下特点: 1、只用于展示,不会涉及修改; 2、一旦订单支付成功,不会再改变; 3、数据量不会很大。 三、解决方案 1、最简单的解决方案是关联表: 但这种解决方案需要连表进行查询,感觉是没有必要的,毕竟只是展示数据,用关联表有点杀鸡用牛刀的感觉。 2、JSON 解决方案: 1 / 6 通过如上思路我们可以解决许多类似的问题。 3、代码示例: 1、模型类: Java 代码 1. public class OrderModel { 2. @Type(type = com.bjpowernode.framework.hibernate.type.JsonType) //① 3. private ListString favorableDescList; 4. } ①处使用我们自定义的 Hibernate 类型来进行转换,上边代码只有一部分 2、自定义JsonType Java 代码 1. package com.bjpowernode.framework.hibernate.type; 2. //省略 import 3. public class JsonType implements UserType, Serializable { 4. private String json; 5. @Override 6. public int[] sqlTypes() { 7. return new int[] {Hibernate.STRING.sqlType()}; 8. } 9. @Override 10. public Class returnedClass() { 11. return JsonList.class; 12. } 2 / 6 13. @Override 14. public boolean equals(Object o, Object o1) throws HibernateException { 15. if (o == o1) { 16. return true; 17. } 18. if (o == null || o == null) { 19. return false; 20. } 21. 22. return o.equals(o1); 23. } 24. 25. @Override 26. public int hashCode(Object o) throws HibernateException { 27. return o.hashCode(); 28. } 29. 30. 31. /** 32. * 从 JDBC ResultSet 读取数据,将其转换为自定义类型后返回 33. * (此方法要求对克能出现 null 值进行处理) 34. * names 中包含了当前自定义类型的映射字段名称 35. * @param resultSet 36. * @param names

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档