开发者社区> 问答> 正文

hibernate映射与数据传输的问题?

利用hibernate的映射关系,以及级联的设置很方便我们获取数据。但是我有这样一个需求,手机端通过json获取一个部门的信息,一个部门下面有上百人,每个人又有上百的历史任务,其他的数据不知凡几,我都建立的映射。这样一个获取部门的请求不就差不多把一个数据库度弄走了吗?怎么获得我只需要的数据。是不是除了映射数据库的实体类层,还需要一个专门为转换成json字符串的,实体层啊。不然获得一个就获得了关联的几乎所有数据。

展开
收起
a123456678 2016-03-18 15:40:01 1984 0
1 条回答
写回答
取消 提交回答
  • 如果用户和部门,在项目上划规一个模块,那用户可以有一个关联的部门实体。

    如果用户和部门,属于两个模块,那用户实体里面会有一个部门id和一个部门名称,就足够用户列表页使用了。不会和部门实体做hibernate关联。

    反之部门那边的set<用户>也是一样。

    原则就是,不同模块间,做冗余字段,不要无限地关联下去,根据能承受的系统复杂度来分模块。像订单模块和用户模块,怎么都是不能搅到一起的,订单表也绝不会关联用户表,只会在订单实体里放个用户id,用户名,或者手机号这些。

    即使是在一个模块里,有关联的两个实体,加上了lazy延迟加载,在查询前也可以通过criteria条件控制是否立即加载,

    2019-07-17 19:06:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载