Hibernate 我们的数据库大约有2000个表,我应该使用ORM框架吗?
我正在参与一个非常古老的系统项目,我们必须将它重写为java。因此,我们需要确定将使用哪些框架。我们将使用JPA和hibernate,但是DB有大约2000个表。。。这将导致实体、元模型和存储库过多。Hibernate 我们的数据库大约有2000个表,我应该使用ORM框架吗?,hibernate,jpa,spring-data-jpa,Hibernate,Jpa,Spring Data Jpa,我正在参与一个非常古老的系统项目,我们必须将它重写为java。因此,我们需要确定将使用哪些框架。我们将使用JPA和hibernate,但是DB有大约2000个表。。。这将导致实体、元模型和存储库过多。 所以问题是我应该在这个项目中使用JPA/hibernate吗?我担心初始化、开发和内存加载的性能。有人能给点建议吗?在您的案例中,混合技术将是最佳的:对象/实体+使用ORM(HQL/JPQL)的查询。不需要对存在的每个表进行映射。有必要审核应用程序中的所有表及其大小和工作需求。估计其中哪些在加载
所以问题是我应该在这个项目中使用JPA/hibernate吗?我担心初始化、开发和内存加载的性能。有人能给点建议吗?在您的案例中,混合技术将是最佳的:对象/实体+使用ORM(HQL/JPQL)的查询。不需要对存在的每个表进行映射。有必要审核应用程序中的所有表及其大小和工作需求。估计其中哪些在加载对象/实体时需要大量内存。对于大型表或不包含大型业务逻辑的表,请使用查询。可能不需要连接某些表。在可能的情况下,使用阅读策略懒惰而不是急切是正确的 也许在遗留数据库中,逻辑的主要部分放在存储过程上。这种情况经常发生,这导致在转换到ORM抽象的过程中遇到很大的困难。在这种情况下,至少暂时将该逻辑的某些部分保留为其原始形式是合理的 您还可以仅使用JDBC,但这将导致Java和SQL中的并行编程 最后:别担心,对于性能问题,根本不需要冠军级的数据库 Upd.
- 我可以建议不要读取大的记录集(包括使用分页),这样就不会出现错误 接收到集合中的许多对象
- 通过查询有选择地读取单个表的字段,而不是
读整张桌子 - 在可能的情况下,还可以创建“轻”类版本,并减少
有助于实体加载的字段数