gpt4 book ai didi

java - 动态 hibernate 查询

转载 作者:行者123 更新时间:2023-12-01 15:51:59 25 4
gpt4 key购买 nike

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


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

}

我希望这个方法返回这个

SELECT MAX(multichoice.id) FROM Multichoice multichoice

当我调用这样的方法时

getLastId("Multichoice");

请问如何编写查询变量来返回答案?

最佳答案

要完成此任务,您可以使用 Criteria 对象模型和投影来对不同类型运行查询:看看这个article (15.7. 预测、聚合和分组)

这是代码:

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

然后,您应该向您的方法发送一个类,而不是字符串。

关于java - 动态 hibernate 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5841709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com