Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 针对性能受限机器的JPA/ORM与JDBC_Performance_Orm_Jpa_Jdbc - Fatal编程技术网

Performance 针对性能受限机器的JPA/ORM与JDBC

Performance 针对性能受限机器的JPA/ORM与JDBC,performance,orm,jpa,jdbc,Performance,Orm,Jpa,Jdbc,我们正在创建一个将部署到非常有限的机器上的小型应用程序。他们只有256mb的RAM 我希望使用JPA,因为它简化了代码并消除了对JDBC结果集代码的需要。然而,JPA在这些小型机器上的开销会是一个因素吗?目前我正在考虑使用Toplink,它是一个2.5mb JAR文件 我们只有有限数量的表,所以JDBC代码不会太麻烦。但是JPA使代码变得非常好 干杯。JPA/ORM在运行时的性能将始终大于或等于JDBC,因为它们都基于JDBC 正如您所注意到的,您从JPA/ORM获得的巨大提升是在开发阶段 我希

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

我希望使用JPA,因为它简化了代码并消除了对JDBC结果集代码的需要。然而,JPA在这些小型机器上的开销会是一个因素吗?目前我正在考虑使用Toplink,它是一个2.5mb JAR文件

我们只有有限数量的表,所以JDBC代码不会太麻烦。但是JPA使代码变得非常好


干杯。

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

正如您所注意到的,您从JPA/ORM获得的巨大提升是在开发阶段

我希望使用JPA,因为它简化了代码并消除了对JDBC结果集代码的需要

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

如果您真的是内存受限的,那么可能必须传递JPA并手工编写JDBC代码

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


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

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

测试这一点应该相对简单,看看它是否能在您的环境中工作。创建一个使用ORM的简单项目或对项目的修改,并创建一个实体来执行一些测试事务。然后观察它的性能以及内存使用情况。这取决于你需要做什么,可能没问题


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

“我想使用JPA,因为它简化了代码并消除了对JDBC ResultSet代码的需要。”-这就是我的意思,我们不需要编写它。JPA非常棒,因为它可以直接返回集合。虽然我不喜欢它,但我认为我们必须使用JDBC。谢谢