Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.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
为什么我们在程序中使用java持久性而不是jdbc连接_Java_Persistence - Fatal编程技术网

为什么我们在程序中使用java持久性而不是jdbc连接

为什么我们在程序中使用java持久性而不是jdbc连接,java,persistence,Java,Persistence,数据持久性和通过jdbc直接访问数据之间有什么区别 我在网上搜索了很多次。但我学会了如何使用持久性框架编程。我不明白这与正式的数据访问有何不同。它比代码简单有什么优势吗 如果保存数据 数据库调用的数量将减少 在ORM中,如果要更改数据库,则无需更改代码,这只是配置更改,而不是代码更改。但是,如果使用JDBC,则需要更改类,并重新编译和重新部署,这是一种开销。而且ORM支持几乎23个数据库。同样,与典型的JDBC调用相比,它有许多优点。在许多ORM框架中有许多概念,例如 eagerl

数据持久性和通过jdbc直接访问数据之间有什么区别

我在网上搜索了很多次。但我学会了如何使用持久性框架编程。我不明白这与正式的数据访问有何不同。它比代码简单有什么优势吗

如果保存数据

数据库调用的数量将减少

ORM
中,如果要更改数据库,则无需更改代码,这只是配置更改,而不是代码更改。但是,如果使用
JDBC
,则需要更改类,并
重新编译
重新部署
,这是一种开销。而且
ORM
支持几乎
23个数据库
。同样,与典型的
JDBC调用相比,它有许多优点。在许多ORM框架中有许多概念,例如

       eagerly loading 
       lazy loading 
       Pagination support
       annotation support

JDBC
中,所有
异常都是
检查的异常
,因此我们必须在
try
中编写代码,
catch
并抛出,但是如果使用
hibernate
作为
ORM
工具,使用JPA,我们有
未检查的异常

,它的一些实现(如Hibernate)将允许您消除SQL语句(使用HQL或独立于dbms的Criteria API)。SQL语句可能依赖于数据库。JPA甚至允许您通过简单的方言更改来完全更改数据库。因此,您的应用程序可以在不同的数据库上运行,而无需为每个数据库使用多个处理程序

当然,这样的框架提供了许多特性,比如当您的数据在会话中变得持久化时兑现或脏支票,例如,只需更改模型上的属性(也就是说,您不必在会话中仍然显式调用save或DAO来持久化数据)

此外,您不需要担心sql注入等问题


但基本上,应用程序越复杂,就越需要这样的框架。对于简单的应用程序,您不需要终极框架:)

持久性指的是像Hibernate这样的ORM框架,或者像Spring JDBC这样的JDBC之上的另一个框架,对吗?像Hibernate这样的持久性框架可以帮助您将关系数据映射到java对象模型(简单POJO)否则,您必须使用JDBC数据访问自己编写代码。Eclipse等工具具有从表等生成类的向导。。我知道。。与ORM映射相比,什么是优势