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

2024-12-26 07:53:45
推荐回答(4个)
回答1:

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

。。。才发现好多人回答了,我的采纳率啊,。,。

回答2:

大哥,我知道你想写个通用的工具方法
但是你from后面是个参数
而你setParameter那里又写了个"User",这样还有什么用?
那你干脆从外面传给参数进来
String hql = "from" + entity + " where id=?";
session.createQuery(hql);

回答3:

我印象中 次处?应该只能用作替代where语句后的东西,from 后面的 表 你如果想用参数表示,可以在这段语句的方法上加入参数,然后把参数放在此处不也可以达到你要的效果吗。

回答4:

通过查询上面的判断
String tableName="";
if(XXX){
tableName="User"
}else if(XXX){
tableName="Admin"
}

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