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

发布于 2021-11-28 06:33:14 字数 207 浏览 993 评论 9

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

复古式 2021-11-30 11:11:30

引用来自“颖辉小居”的评论

引用来自“嫂来哇”的评论

可以用hibernate 拿出数据,然后重新定义map,或者重新定义model

简单气质女生网名 2021-11-30 11:10:03

引用来自“ahyyxx222”的评论

这是因为你的系统并没有垂直切分,以致你的关联像蜘蛛网一样。在跨业务模块的地方要坚决打断关联关系,比如订单模块和用户模块之间,订单那边存用户冗余信息,而不是把订单关联用户表。

女中豪杰 2021-11-30 11:01:57

是的,其实还有一个办法,就是在原有的model上用JSON注解去掉要JSON序列化的字段

岁吢 2021-11-30 06:12:30

引用来自“嫂来哇”的评论

可以用hibernate 拿出数据,然后重新定义map,或者重新定义model

韬韬不绝 2021-11-30 03:23:55

这是因为你的系统并没有垂直切分,以致你的关联像蜘蛛网一样。在跨业务模块的地方要坚决打断关联关系,比如订单模块和用户模块之间,订单那边存用户冗余信息,而不是把订单关联用户表。

冷默言语 2021-11-30 02:42:53

可以用hibernate 拿出数据,然后重新定义map,或者重新定义model

终遇你 2021-11-29 21:47:35

难道用hibernate不好吗?这个一定有解决方法的吧

好听的两个字的网名 2021-11-29 00:04:06

不要用hibernate映射,用sql自身来搞定。

只为守护你 2021-11-28 08:08:05

如果用户和部门,在项目上划规一个模块,那用户可以有一个关联的部门实体。

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

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

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文