我正在设计一个小型 JavaEE Web 应用程序...我有一个包含近 10 个表的 PostgreSQL 数据库......我有 Activiti 处理工作流......
我认为 Spring MVC 和 hibernate 非常适合我的要求。
但是有人问,Hibernate 是否适合我的用例?是不是太重了?如何选择对 Web 应用程序可行的 ORM?
随意也建议更好的解决方案:)谢谢
- - 更新 - - - - -
- 应用程序当然会增长并在未来添加更多表格。
- 我不会使用 DDD。
我正在设计一个小型 JavaEE Web 应用程序...我有一个包含近 10 个表的 PostgreSQL 数据库......我有 Activiti 处理工作流......
我认为 Spring MVC 和 hibernate 非常适合我的要求。
但是有人问,Hibernate 是否适合我的用例?是不是太重了?如何选择对 Web 应用程序可行的 ORM?
随意也建议更好的解决方案:)谢谢
- - 更新 - - - - -
简而言之: 没有
但也许也...
如果它是一个没有数据库模式的新项目,Hibernate 很有用。它允许将数据库抽象出来并根据对象进行思考。让你快速上手。但是,您的项目似乎已经启动并运行,因此这些好处是无效的。
当项目增长时,尤其是模式增长时,Hibernate 主要是阻碍。如果您打算使用 DDD 和繁重的域对象,Hibernate 没有帮助,因为 Hibernate 更喜欢哑 pojo 域模型。
如果您已经知道您将继续使用 PostgreSQL,那么 ORM 与数据库提供者无关的好处是毫无意义的。
它有助于减少代码行数,使系统更易于理解。您可以更多地专注于业务逻辑而不是持久性工作(SQL)。更重要的是,代码更少的系统更容易重构。
Of course, the application will grow and add more tables in the future.
那么它就不会成为一个小应用程序。