JPA / ORM vs JDBC用于性能受限的机器

时间:2009-12-07 02:16:17

标签: performance orm jpa jdbc

我们正在创建一个小型应用程序,它将部署到非常有限的机器上。他们只有256mb的RAM。

我想使用JPA,因为它简化了代码并且不需要JDBC ResultSet代码。但是,JPA在这种小型机器上的开销是一个因素吗?我正在考虑使用Toplink,它包含在一个2.5mb的JAR文件中。

我们只有有限数量的表,因此JDBC代码不会太麻烦。但JPA使代码变得如此美好。

干杯。

2 个答案:

答案 0 :(得分:1)

运行时的JPA / ORM性能始终大于或等于JDBC,因为它们都基于JDBC。

正如您所指出的那样,您从JPA / ORM获得的巨大提升正处于开发阶段。

  

我想使用JPA,因为它简化了代码并且不需要JDBC ResultSet代码。

我不确定我是否理解这句话。 JPA将在幕后使用ResultSet;你不会写它。从ResultSet到对象的映射封装在XML或注释中。

如果你真的受内存限制,你可能需要传递JPA并手动编写JDBC代码。

在这种情况下你可能会看看Spring JDBC,因为它有一个非常好的JDBC支持设计,这使得它非常简单。

256MB的RAM?您将很难使用任何第三方库。

答案 1 :(得分:0)

根据操作系统和运行的其他内容,256MB的RAM并不像您想象的那么小。使用ORM解决方案可能完全可行,但最好的方法是自己测试和查看。

测试它并查看它是否适用于您的环境应该相对简单。为使用ORM的项目创建一个简单的项目或修改,并使用单个实体来执行一些测试事务。然后观察它的执行情况以及内存使用情况。根据您的需要,可能没问题。

您也可以将JVM内存限制在一定水平,这将导致更多的垃圾收集,但除非您达到限制,否则它应该可以防止崩溃。