数据持久化和通过jdbc直接访问数据有什么区别?
我在互联网上搜索了很多次。但我学会了如何使用持久性框架进行编程。我不明白这与正式的数据访问有何不同。它有什么优势而不是代码简单吗?
数据持久化和通过jdbc直接访问数据有什么区别?
我在互联网上搜索了很多次。但我学会了如何使用持久性框架进行编程。我不明白这与正式的数据访问有何不同。它有什么优势而不是代码简单吗?
使用 JPA 和它的一些实现,如 Hibernate,可以让您消除 SQL 语句(例如,使用独立于 dbms 的 HQL 或 Criteria API)。SQL 语句可能依赖于数据库。JPA 甚至允许您通过简单的方言更改来完全更改数据库。因此,您的应用程序可以在不同的数据库上运行,而无需为每个数据库设置多个处理程序。
当然,当您的数据变得持久时,此类框架提供了许多功能,例如兑现或脏检查。只需更改模型上的属性(也就是在会话中您不必显式调用 save 或 DAO 来保存数据)。
此外,您无需担心 sql 注入等。
但基本上,您的应用程序越复杂,就需要这样的框架。使用简单的应用程序,您不需要终极框架 :)
如果你持久化数据,
数据库调用的数量将减少。
如果ORM
要更改数据库,则无需更改代码,这只是配置更改而不是代码更改。但是如果你使用JDBC
你需要改变类re-compile
,re-deploy
这是一个开销。并且ORM
支持几乎23 databases
。与典型的相比,同样有许多优点JDBC calls
。许多 ORM 框架中有很多概念,例如
eagerly loading
lazy loading
Pagination support
annotation support
总而言之,JDBC
我们必须在 和 throws 中编写代码,但如果你使用它作为工具,我们有.Exceptions
checked exceptions
try
catch
hibernate
ORM
Un-checked exceptions