一个关于Hibernate问号传值问题,请教高手。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个关于Hibernate问号传值问题,请教高手。相关的知识,希望对你有一定的参考价值。

Session session = getSession();
Query query = session.createQuery("from ? as a where a.id=?");
query.setParameter(0, "User");
query.setParameter(1, Admin_id);

上面代码出错:unexpected token: ? near line 1, column 6 [from ? as a where a.id=?]

如果把第一个问号换成User,小心修改下就可以正常运行了,我想把那个User对象换成个参数,以便可以一个方法访问多个数据表。高手指点迷津~~ 谢谢哟

参考技术A 把那个User对象换成个参数,以便可以一个方法访问多个数据表。
弄个String tabName 作为方法参数。
然后 Query query = session.createQuery("from "+ tabName+" as a where a.id=?");

。。。才发现好多人回答了,我的采纳率啊,。,。
参考技术B 大哥,我知道你想写个通用的工具方法
但是你from后面是个参数
而你setParameter那里又写了个"User",这样还有什么用?
那你干脆从外面传给参数进来
String hql = "from" + entity + " where id=?";
session.createQuery(hql);本回答被提问者和网友采纳
参考技术C 我印象中 次处?应该只能用作替代where语句后的东西,from 后面的 表 你如果想用参数表示,可以在这段语句的方法上加入参数,然后把参数放在此处不也可以达到你要的效果吗。 参考技术D 通过查询上面的判断
String tableName="";
if(XXX)
tableName="User"
else if(XXX)
tableName="Admin"


String queryString="from "+tableName+ "a where a.id=?"

以上是关于一个关于Hibernate问号传值问题,请教高手。的主要内容,如果未能解决你的问题,请参考以下文章

请教高手一个关于CMFCPropertyGridCtrl消息处理的问题

Delphi的高手请进,请教一个关于窗体创建的问题!

请教高手,servlet中如何获取URL中的这种参数

请教高手,关于“不可识别的数据库格式”

关于sqlserver临时表的问题,请教高手!

请教高手关于西门子S7-300的ModbusTCP通讯问题,急!!