JPA或JDBC,它们有何不同?
我正在学习Java EE,我用glassfish下载了eclipse。我看到了一些例子,也阅读了Oracle文档,以了解Java EE 5的所有信息。连接到数据库非常简单。我打开了一个动态Web项目,创建了一个会话EJB,我使用了EntityManager,并使用get方法可以访问存储的数据表。
对于我的下一个项目,我创建了一个简单的类,然后访问一些数据库表。我遇到的第一个问题是,PersistenceUnit属性只能被EJB,Servlet等识别,而不是一个简单的java类。所以我不能使用EntityManager的方式(或者我可以吗?
我被要求通过“JDBC”方式进行。我遇到的第一个问题是获得与数据库的连接。似乎所有这些都必须硬编码。我有一个持久性.xml,通过它我可以轻松配置数据库连接。即使为DB设置驱动程序也很容易。此外,JDBC 中没有用于访问表实体的 get/set 方法。
如何理解 JPA 和持久性与 JDBC 的关系?JPA是出于什么目的?为什么有设置/获取方法?有人可以对这两者的本质进行一些阐述吗?如果没有“行话”,利弊是什么?也请建议一些链接。在谷歌上搜索JPA和JDBC的差异,我找到了一些充满“术语”的网站,我无法遵循:(