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