javahibernate与资源利用
我正在办公室讨论是否使用Hibernate。目前,我们的代码使用纯jdbc和sql语句来获取我们需要的数据。可以想象,这使得我们的代码很难维护。我建议切换到Hibernate,使我们的代码看起来和工作得更好。然而,我们的应用程序需要有高性能(在时间和内存利用率方面)。我的同事们一直认为,切换到Hibernate会使我们获取不必要的数据,从而使我们的应用程序速度变慢,消耗更多的RAM内存
这是真的吗?我们可以用什么把戏吗?在与同事的讨论中,我有什么可以使用的论点吗
谢谢
# 1 楼答案
首先,对于大多数应用程序来说,在高性能和低内存之间存在权衡。如果两者都需要,则通常需要考虑其他权衡,例如在JDBC应用程序中的可维护性。p>
您可以向同事争辩,对于所有关系,都可以指定获取类型:
当bean在实体管理器的控制下时,就会发生这种情况。如果远程获取对象,则不可能进行额外的延迟加载。 但问题是,Hibernate能否满足您的需求在很大程度上取决于应用程序的性质
如果你有一个web应用程序和巨大的对象图,那么如果你使用JPA/Hibernate和SEAM之类的东西,这将是一个很大的好处,因此将所有对象都置于实体管理器的控制之下(即使是在你的JSF托管bean中)。在这里,您不必关心对象图中的哪些字段是实际需要的,因此不需要在这个问题上花费任何一行代码
但是,如果你进行科学或金融计算,当然会更快。通过定制(以及大型、复杂且难以维护的)SQL语句,你可以得到你想要的一切。对于我的开发,如果可能的话,我会使用JPA(在后端Hibernate中)。对我们来说,更干净的代码比几微秒更快的计算时间更重要