hibernate使用列名作为变量查询

hibernate在查询时, 参数一般使用占位符 ? 进行传入. 在一些业务需求中, 会有需要使用列名作为变量传入的.常见为根据选择的列去进行分组查询. 这种情况列名就作为变量了. mybatis的话, 是有 #{} ${}两种占位符可以满足这种需求. 而对于hibernate.直接使用 ? 占位符是不可行的.  目前见到可用的方式是直接拼接.

String columnName = "stuId";
if(条件A){
    columnName = "classId";
}

String groupBy = " GROUP BY v."+ columnName;

猜你喜欢

转载自blog.csdn.net/qq_40085888/article/details/86530617