Java 动态休眠查询

Java 动态休眠查询,java,hibernate,hql,Java,Hibernate,Hql,我有一个用于返回动态查询的方法。该方法如下所示 public Query getLastId(String sProvider) { String serviceProvider = sProvider.toLowerCase(); String query2 = "SELECT MAX(:serviceProvider.id) " + " FROM :sProvider :serviceProvider ";

我有一个用于返回动态查询的方法。该方法如下所示


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);

}
我希望此方法返回此


请说明如何编写查询变量以返回答案?

要执行此任务,您可以使用条件对象模型和投影在不同类型上运行查询: 看看这个(15.7.预测、聚合和分组)

代码如下:

List results = session.createCriteria(class)
.setProjection( Projections.max("id"))
.list();
然后,您应该向方法发送一个类,而不是字符串

getLastId("Multichoice");
List results = session.createCriteria(class)
.setProjection( Projections.max("id"))
.list();