[英]Dynamic Hibernate Query
I have a method that I use to return a dynamic query.我有一个用于返回动态查询的方法。 This method is shown below
该方法如下图所示
public Query getLastId(String sProvider)
{
String serviceProvider = sProvider.toLowerCase();
String query2 = "SELECT MAX(:serviceProvider.id) " +
" FROM :sProvider :serviceProvider ";
return em.createQuery(query2)
.setParameter("sProvider", sProvider)
.setParameter("serviceProvider", serviceProvider);
}
I want this method to return this我希望这个方法返回这个
SELECT MAX(multichoice.id) FROM Multichoice multichoice
when I call the method like this当我这样调用方法时
getLastId("Multichoice");
Please how do I write the query variable to return the answer?请问如何编写查询变量来返回答案?
To do this task you can use Criteria object model and projections to run your query over different types: Take a look at this article (15.7. Projections, aggregation and grouping)要执行此任务,您可以使用 Criteria object model 和投影在不同类型上运行查询:看看这篇文章(15.7. 投影、聚合和分组)
here is the code:这是代码:
List results = session.createCriteria(class)
.setProjection( Projections.max("id"))
.list();
Then instead of a string you should send a class to your method.然后,您应该向您的方法发送 class 而不是字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.