Jpa Eclipse链接如何查询

Jpa Eclipse链接如何查询,jpa,eclipselink,Jpa,Eclipselink,我开始使用eclipse-link,从我在网上读到的内容来看,eclipse-link是某种JPA实现,当您使用eclipse-link时,您不是直接使用DB代码,而是使用对象 我的问题是,如果不是DB命令,这是什么 Query q = em .createQuery("SELECT p FROM Person p WHERE p.firstName = :firstName AND p.lastName = :lastName"); 是的。您可以在FIRSTNAME='St

我开始使用eclipse-link,从我在网上读到的内容来看,eclipse-link是某种JPA实现,当您使用eclipse-link时,您不是直接使用DB代码,而是使用对象

我的问题是,如果不是DB命令,这是什么

Query q = em
        .createQuery("SELECT p FROM Person p WHERE p.firstName = :firstName AND p.lastName = :lastName"); 

是的。您可以在FIRSTNAME='Stefan'和LASTNAME='Strooves'所在的PERSON中找到更多类似于
SELECT*的JPA查询进一步,您需要为参数设置值

Query q = em
    .createQuery("SELECT p FROM Person p WHERE p.firstName = :firstName AND 
                                               p.lastName = :lastName");
q.setParameter("firstName", "Stefan");
q.setParameter("lastName", "Strooves");
List<Person> resultList = q.getResultList();
Query q=em
.createQuery(“从Person p中选择p,其中p.firstName=:firstName和
p、 lastName=:lastName“;
q、 setParameter(“firstName”、“Stefan”);
q、 setParameter(“lastName”、“Strooves”);
List resultList=q.getResultList();

结果列表包含所有与查询匹配的
Person
实体。

我当然理解,但是使用eclipse链接对象的DB查询之间有什么区别?@StefanStrooves Learn JPA。区别在于,一旦创建了模型(实体和它们之间的关系),JPA将根据您提供的JPQL处理SQL查询生成。例如,一旦定义了实体Order和Customer之间的多对一关系,JPQL查询将类似于“从订单o中选择o,其中o.Customer.code=:cust_code”(提示:您不必每次查询时都定义联接,点表示法可以帮您做到这一点)。JPA和JPQL远不止这些,但我希望你能说得有道理。