Java 如何将mysql查询转换为jpa命名查询
我有一张Java 如何将mysql查询转换为jpa命名查询,java,mysql,hibernate,jpa,Java,Mysql,Hibernate,Jpa,我有一张订单表格 订单号|客户号|提交日期|订单号| 目前,我正在使用jpa命名查询获取基于customer\u id的所有记录 public List<Order> readOrders(Long customerId){ Query query = em.createNamedQuery("select order from com.mycompany.Order where order.customer.id = :customerId"); query.setParame
订单
表格
订单号|客户号|提交日期|订单号|
目前,我正在使用jpa命名查询获取基于customer\u id
的所有记录
public List<Order> readOrders(Long customerId){
Query query = em.createNamedQuery("select order from com.mycompany.Order where order.customer.id = :customerId");
query.setParameter("customerId", customerId);
return query.getResultLis();
}
上面的sql查询
工作正常,但我的问题是我不知道如何将上面的sql查询
转换为jpa命名查询
如果您的对象等价于sqlsubmitDate
是submitDate
public List<Order> readOrders(Long customerId){
Query query = em.createNamedQuery("select order from com.mycompany.Order where order.customer.id = :customerId and order.submitDate > :specificDate");
// I use Joda time you can use java.util.Date directly
DateTime specificDate= new DateTime().minusDays(15);
query.setParameter("customerId", customerId);
query.setParameter("specificDate", specificDate.toDate(),TemporalType.DATE);
return query.getResultLis();
}
public List readOrders(长客户ID){
Query Query=em.createNamedQuery(“从com.mycompany.order中选择订单,其中order.customer.id=:customerId和order.submitDate>:specificDate”);
//我使用Joda time,您可以直接使用java.util.Date
DateTime specificDate=新的日期时间()。天数(15);
query.setParameter(“customerId”,customerId);
setParameter(“specificDate”,specificDate.toDate(),TemporalType.DATE);
返回query.getResultLis();
}
public List<Order> readOrders(Long customerId){
Query query = em.createNamedQuery("select order from com.mycompany.Order where order.customer.id = :customerId and order.submitDate > :specificDate");
// I use Joda time you can use java.util.Date directly
DateTime specificDate= new DateTime().minusDays(15);
query.setParameter("customerId", customerId);
query.setParameter("specificDate", specificDate.toDate(),TemporalType.DATE);
return query.getResultLis();
}