java Hibernate生成计数(1)
默认情况下,当使用hibernate进行计数时,它将生成计数(*),是否可以将其更改为默认计数(1)?我不想使用HQL来实现这一点。我的意思是当使用criteria.setProjection(Projections.rowCount());
你可以在下面搜索框中键入要查询的问题!
默认情况下,当使用hibernate进行计数时,它将生成计数(*),是否可以将其更改为默认计数(1)?我不想使用HQL来实现这一点。我的意思是当使用criteria.setProjection(Projections.rowCount());
# 1 楼答案
如果查询具有GROUP BY,则可以在theProjections类上使用sqlGroupProjection()方法。它有四个参数,第一个是查询的select子句。在第一个参数中,可以定义count(1)而不是count(*)。例如:
# 2 楼答案
您可以通过实现StandartSqlFunction接口来创建自定义计数函数。然后,您必须对正在使用的方言类进行子类化,并使用registerFunction方法在构造函数中注册您的函数