我们的DB有大约2000个表,我应该使用ORM框架



我正在参与一个非常旧的系统的项目,我们必须将其重写为Java。因此,我们需要确定将使用哪些框架。我们将使用JPA和Hibernate,但是DB有大约2000个表...它将导致太多实体,元模型和存储库。

所以问题是我在这个项目中应该使用JPA/Hibernate吗?我担心初始化,开发和内存的加载的性能。谁能给出一些建议?

在您的情况下,混合技术将是最佳的:使用ORM(HQL/JPQL(的对象/实体 查询。无需将每个表格映射到存在。有必要审核所有桌子,它们的大小以及它们在应用程序中的工作需求。估计其中哪个需要在加载对象/实体期间大量内存。对于不包含大型业务逻辑使用查询的大型表或表格。可能不需要连接某些表。在可能的情况下,使用读取策略而不是急切是正确的。

也许在您的旧数据库中,逻辑的主要部分放在存储过程上。这常常发生,这在过渡到ORM-ABSTRACTS期间造成了巨大困难。在这种情况下,将此逻辑的某个部分的原始形式至少至少暂时保留是合理的。

您也可以使用仅JDBC ,但这将导致Java和SQL中的并行编程。

最后:不用担心,对于表现问题,根本不需要冠军大小的数据库。

upd。

  • 我可以建议不要阅读大记录集(包括使用分页(,以便没有收集的收集中的许多对象。

  • 通过查询选择性地读取单表的字段,而不是
    阅读整个桌子。

  • 还可以在可能的情况下创建"轻"类版本,并减少
    促进实体加载的字段数量。

最新更新