异构环境推荐使用hibernate吗?
Is hibernate recommended in a heterogeneous environment?
Hibernate 在某些环境中是否效率较低,例如多个分布式系统正在访问同一个数据库的 polygot 公司?如果 Acme 公司有一个 python 网站读取和写入与 java 网络应用程序(网络服务)相同的数据库,Hibernate 是否会成为 java 网络服务应用程序的糟糕选择?换句话说,Hibernate 缓存和会话管理是否假定 Acme 的所有数据库事务都将使用 Hibernate?在一家有多种编程语言同时对同一数据写入大量更新的公司,我是否需要对某些 ORM 问题敏感?对于使用 java ee 应用程序服务器几乎所有业务操作的严格 java 商店,Hibernate 是否更有优势?
Hibernate 确实比纯 JDBC 有一些性能开销,但如果您谨慎使用它,它对于大多数用例来说应该没问题。
Hibernate 不假定它自己处理所有操作。我唯一担心的是二级缓存,如果你需要的话。如果其他应用程序访问同一个数据库(但您不必使用它),您将无法保持同步。
话虽如此,我必须补充一点,让多个应用程序写入同一个数据库并不是一个好的做法。我宁愿创建一个应用程序来处理这个数据库,并让其他人与这个数据库进行通信——这样可以更容易地保持数据库的一致性。
Hibernate 在某些环境中是否效率较低,例如多个分布式系统正在访问同一个数据库的 polygot 公司?如果 Acme 公司有一个 python 网站读取和写入与 java 网络应用程序(网络服务)相同的数据库,Hibernate 是否会成为 java 网络服务应用程序的糟糕选择?换句话说,Hibernate 缓存和会话管理是否假定 Acme 的所有数据库事务都将使用 Hibernate?在一家有多种编程语言同时对同一数据写入大量更新的公司,我是否需要对某些 ORM 问题敏感?对于使用 java ee 应用程序服务器几乎所有业务操作的严格 java 商店,Hibernate 是否更有优势?
Hibernate 确实比纯 JDBC 有一些性能开销,但如果您谨慎使用它,它对于大多数用例来说应该没问题。
Hibernate 不假定它自己处理所有操作。我唯一担心的是二级缓存,如果你需要的话。如果其他应用程序访问同一个数据库(但您不必使用它),您将无法保持同步。
话虽如此,我必须补充一点,让多个应用程序写入同一个数据库并不是一个好的做法。我宁愿创建一个应用程序来处理这个数据库,并让其他人与这个数据库进行通信——这样可以更容易地保持数据库的一致性。