Hibernate在某些环境中是否效率较低,比如几个分布式系统访问同一个数据库的polygot公司?如果Acme公司有一个python网站读取和写入与Java Web应用程序(Web服务)相同的数据库,那么Hibernate对于Java Web服务应用程序来说是不是很糟糕的选择吗?换句话说,Hibernate缓存和会话管理是否假设Acme的所有数据库事务都将使用Hibernate?我是否需要对某些公司的某些ORM问题敏感,因为有几种编程语言正在同时为同一数据写入大量更新? Hibernate对于几乎所有业务运营中使用java ee app服务器的严格java商店更有利吗?
答案 0 :(得分:1)
Hibernate确实比纯JDBC有一些性能开销,但是如果你小心翼翼地使用它,对大多数用例都应该没问题。
Hibernate并不认为它本身处理所有操作。如果你需要,我唯一担心的是二级缓存。如果其他应用访问相同的数据库(但您不必使用它),则无法让它保持同步。
话虽如此,我必须补充说,让多个应用程序写入同一个数据库并不是一个好习惯。我宁愿创建一个处理这个数据库的应用程序,让其他人与这个数据库进行通信 - 这样可以更容易地保持数据库的一致性。