我们正在创建一个小型应用程序,它将部署到非常有限的机器上。他们只有256mb的RAM。
我想使用JPA,因为它简化了代码并且不需要JDBC ResultSet代码。但是,JPA在这种小型机器上的开销是一个因素吗?我正在考虑使用Toplink,它包含在一个2.5mb的JAR文件中。
我们只有有限数量的表,因此JDBC代码不会太麻烦。但JPA使代码变得如此美好。
干杯。
答案 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内存限制在一定水平,这将导致更多的垃圾收集,但除非您达到限制,否则它应该可以防止崩溃。