异构环境推荐使用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 不假定它自己处理所有操作。我唯一担心的是二级缓存,如果你需要的话。如果其他应用程序访问同一个数据库(但您不必使用它),您将无法保持同步。

话虽如此,我必须补充一点,让多个应用程序写入同一个数据库并不是一个好的做法。我宁愿创建一个应用程序来处理这个数据库,并让其他人与这个数据库进行通信——这样可以更容易地保持数据库的一致性。