请教一个HQL参数传递的问题,就是select * from Table where将Table作为参数传递该怎么写

就是我的数据库里面有好几张表,想通过一个参数传递前台的选择的表名,来选取表。一般HQL语句后面的查询条件(where后面的条件)有些是带参数的嘛,比如select distinct dCfgName from DCfg where dCfgValue =:type这里面的type作为参数,我现在想将DCfg作为参数传递过来。是不是可以写成这样:select distinct dCfgName from :tablename where dCfgValue =✀KLK1✀,在这里tablename是参数。但是最后运行的时候,得不到我想要的结果,不知道这样写有什么问题?
2026年09月25日 06:22
有1个网友回答
网友(1):

你可以用字符串拼接啊
String sql="select distinct dCfgName from " +tablename +" where dCfgValue ='KLK1' ",
把tablename作为变量不久可以了