我已经阅读了几篇关于什么是 JPA (Java Persistent API)
以及支持它的供应商的文章(DataNucleus,JBossHibernate 等)
我没有使用 ORM (对象关系映射)的经验。
到目前为止,我所做的就是使用 DTO 和 DAO 编写我自己的 Database 类。到目前为止,我很高兴我有什么,但想知道 为什么人们使用包含 SQL 的 JPA over Java 文件。
对我来说,我觉得编写 DAO 类可以像下面这样。
public class DAOUsers {
public void insertNewUser(DTO DtoUser) {
String query = "INSERT INTO users(username, address) " +
"VALUES(DtoUser.username , DtoUser.address)";
Executor.run(query);
}
}
我了解到 JPA 使用 JPQL,Java 持久查询语言,并且它对实体对象进行操作 而不是直接使用 db 表。
我的理解是这里的实体对象与我的 DTO 对象相同(有点像 bean?)
但是无论如何. . 相对于在我的文件中编写纯 SQL,JPA 真正的好处是什么? 似乎使用 JPA 所需的注释并使 SQL 不可读对我来说并不真正有吸引力。
请让我知道,如果你需要更多的澄清,我是新的这个话题,想听到一些意见。