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

时间:2013-09-13 05:07:26

标签: java persistence

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

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

2 个答案:

答案 0 :(得分:0)

如果你坚持数据,

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

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

       eagerly loading 
       lazy loading 
       Pagination support
       annotation support

JDBC所有Exceptions都是checked exceptions,因此我们必须在trycatch中编写代码并抛出,但如果您使用hibernate }作为ORM工具,我们有Un-checked exceptions

答案 1 :(得分:0)

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

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

此外,您不必担心sql注入等。

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