2

数据持久化和通过jdbc直接访问数据有什么区别?

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

4

2 回答 2

0

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

当然,当您的数据变得持久时,此类框架提供了许多功能,例如兑现或脏检查。只需更改模型上的属性(也就是在会话中您不必显式调用 save 或 DAO 来保存数据)。

此外,您无需担心 sql 注入等。

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

于 2013-09-13T06:25:28.653 回答
0

如果你持久化数据,

数据库调用的数量将减少。

如果ORM要更改数据库,则无需更改代码,这只是配置更改而不是代码更改。但是如果你使用JDBC你需要改变类re-compilere-deploy这是一个开销。并且ORM支持几乎23 databases。与典型的相比,同样有许多优点JDBC calls。许多 ORM 框架中有很多概念,例如

       eagerly loading 
       lazy loading 
       Pagination support
       annotation support

总而言之,JDBC我们必须在 和 throws 中编写代码,但如果你使用它作为工具,我们有.Exceptionschecked exceptionstrycatchhibernateORMUn-checked exceptions

于 2013-09-13T05:41:02.493 回答