java - Hibernate 是否用于重型 ERP 解决方案

标签 java hibernate oop design-patterns

Hibernate是否足以处理具有1000+表的ERP应用程序,在开发的任何阶段是否出现性能瓶颈。

如果我们继续使用 Hibernate,我们会遵循哪种设计模式。

最佳答案

Hibernate 是一个 ORM 工具。它应该将类映射到表,将对象映射到元组等等。这种工具的主要目的应该是在从与 OO 环境相对应的表中保存、更新、删除或获取数据时减少访问数据库的样板。如果您的系统中有 1000 多个表,并且它们全部(或联合)对应于 OO API 中的类,那么您应该可以开始了。

但是,使用 Hibernate 处理大量数据的真正问题在于您要执行的操作类型。对于 CUD 操作,hibernate 非常方便,但是如果您必须一次从多个表中读取数据,您可能需要应用很多延迟加载的技巧(这对我来说是一种开销),否则它会尝试加载来自整个类别家族的数据(家属及其家属等)。我发现 iBatis 非常适合这种场景(报告工具)。 所以,我的答案是,除非你打算在面向对象的结构中进行大量的对象持久化/更新/删除,并将其复制到你的数据库中,否则你不应该花精力去尝试实现 Hibernate。

两者(Hibernate 和 iBatis)的简要比较如下:

https://softwareengineering.stackexchange.com/a/192005

https://www.javaworld.com/article/2077875/open-source-tools/ibatis--hibernate--and-jpa--which-is-right-for-you-.html

关于java - Hibernate 是否用于重型 ERP 解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46946217/

相关文章:

c# - 自动实现的 getter 和 setter 与公共(public)字段

java - PHP 定时作业 : MySQL Query to Text File Weekly

Java 8 Stream API 收集器 - addAll 不适用于参数对象,addAll 未定义类型对象

java - Spring JPA 中 NamedStoredProcedureQuery 中的错误 - "Found named stored procedure parameter associated with positional parameters"

oop - 我应该在哪里放置与对象相关的上下文数据,而这些数据实际上并不是对象的属性?

arrays - 如何避免 Matlab 在创建句柄对象数组作为对象属性时占用指数时间

java - 无法从 Card 转换为 int

java - 在java中列出组合框中的对象

java - 遍历 ORM 关系返回重复结果

java - 为什么这个 Java 查询失败?有结果时返回0