首页 > 解决方案 > api restful Spring的许多表

问题描述

我对我的项目架构有疑问。我需要创建 10 个 api 休息,但我的数据库有 300 个没有关系的表。

我的问题是:有必要从我的数据库中创建所有实体吗?最佳做法是什么?发电机休眠?

标签: javaspringhibernatejpa

解决方案


有必要从我的数据库中创建所有实体吗?

不必生成所有实体。对于您的用例,过滤掉将由 10 个其余 API 使用的表,并仅为这些表创建实体。该列表可能包括 5、10 或 30 个表(计数无关紧要)。更准确地说,您只需要针对您打算直接或间接为这些端点工作的表创建实体。

最佳做法是什么?发电机休眠?

几乎总是,由休眠生成器生成的实体是一个好的开始,但大多数情况下,生成的实体远非完美(或接近完美)。例如,db 中的 joiner 表通常最终成为一个单独的实体。随意为您需要的表使用休眠实体生成器(是的,您可以使用“表过滤器”指定少数表)但我强烈建议重新访问所有生成的实体并根据您的特定需求调整它们。我个人更喜欢自己手动编码实体而不是使用生成器,尤其是在实体很少的情况下。

关于最佳建模技术,这是一个很大的话题,我建议hibernate 官方文档开始。虽然文档侧重于休眠细节,但它讨论了休眠特性上下文中的各种建模技术,以及哪种技术适用于哪种目的。您可能还想查看 JPA 教程甚至 spring-data-jpa 。

希望能帮助到你!!


推荐阅读