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