持久性API究竟做了什么以及使用它有什么好处?

时间:2014-12-05 18:51:35

标签: java api persistence

Persistence API是否与JDBC类似?换句话说,它的目的是连接数据库吗?另外,它是否使用SQL?使用持久性的人有什么优势可以使用jdbc?为什么不直接使用jdbc?我已经查看了许多关于持久性的网站,但我仍然对它究竟是什么感到困惑,为什么使用它会为程序员提供优势。

1 个答案:

答案 0 :(得分:0)

简答:

您引用的API通常称为" JPA" - 当您有疑问时,这将是最有用的术语。

是的,JPA是JDBC的替代品/补充。通常,您可以使用JPA调用执行所有操作,但是您可以从大多数JPA实现获取JDBC连接,并在需要时使用它。

是的,它使用了SQL - 它是围绕原始SQL调用的客户端层抽象。

优点是它允许您在与数据库交互时使用对象样式的接口,并跳过与将DB结果列映射到对象中的字段相关的长且容易出错的代码。

MyObject obj = em.find(someKey, ...);
obj.getFoo();
obj.getBar();

更易于维护
String query = "select foo, bar, baz, wibble, whomp from myObject_table where pk_field = someKey";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
rs.next();
rs.get("foo");
rs.get("bar");