Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate DML操作不支持hql_Hibernate_Model_Hql_Sql Update - Fatal编程技术网

Hibernate DML操作不支持hql

Hibernate DML操作不支持hql,hibernate,model,hql,sql-update,Hibernate,Model,Hql,Sql Update,我正在尝试更新查询,但此错误不断出现: public List<Object[]> rosterGrdUpdate(String stuBunValue, String stuGrdValue, String pcID, String crsCd) { List<Object[]> updateRosterInfo = null; java.util.Date today = new java.util.Date(); Date Date_toDay = new java

我正在尝试更新查询,但此错误不断出现:

public List<Object[]> rosterGrdUpdate(String stuBunValue, String stuGrdValue, String pcID, String crsCd) {
List<Object[]> updateRosterInfo = null;
java.util.Date today = new java.util.Date();
Date Date_toDay = new java.sql.Date(today.getTime());
String modifyFlagUpdate = "U";
String modifyFlagWh = "N";
Query querySt  = null;
String sql1 = "update WgRoster wr set wr.grade= :gr, wr.modify_flag= :mf, wr.grade_date= :gd, wr.user_id= :ud" +
" where wr.stubun= :stb and wr.crs_cd= :cr and wr.modify_flag !=  :mfu";
querySt  = session.createQuery(sql1);
querySt.setParameter("gr", stuGrdValue);
querySt.setParameter("mf", modifyFlagUpdate);
querySt.setParameter("gd", Date_toDay);
querySt.setParameter("ud", pcID);
querySt.setParameter("stb", stuBunValue);
querySt.setParameter("cr", crsCd);
querySt.setParameter("mfu", modifyFlagWh);  
int res = querySt.executeUpdate();  
return  (List<Object[]>)querySt.list();
public List rostergrddupdate(字符串stuBunValue、字符串stuGrdValue、字符串pcID、字符串crsCd){
列表更新程序信息=null;
java.util.Date today=new java.util.Date();
Date Date_toDay=new java.sql.Date(toDay.getTime());
字符串modifyFlagUpdate=“U”;
字符串modifyFlagWh=“N”;
查询querySt=null;
String sql1=“更新wgloster wr set wr.grade=:gr,wr.modify\u flag=:mf,wr.grade\u date=:gd,wr.user\u id=:ud”+
“其中wr.stubun=:stb和wr.crs_cd=:cr和wr.modify_标志!=:mfu”;
querySt=session.createQuery(sql1);
querySt.setParameter(“gr”,stuGrdValue);
setParameter(“mf”,modifyFlagUpdate);
querySt.setParameter(“gd”,日期为今天);
查询设置参数(“ud”,pcID);
querySt.setParameter(“stb”,存根值);
查询设置参数(“cr”,crsCd);
querySt.setParameter(“mfu”,modifyFlagWh);
int res=querySt.executeUpdate();
return(List)querySt.List();

任何建议都将不胜感激。

鉴于操作的性质,
querySt
对象只能支持
executeUpdate()
。删除
querySt.list()
。进行另一个查询,即

query  = session.createQuery("from WgRoster"); 

然后调用
query.list();

我一直在谷歌上搜索这个问题,但到目前为止运气不好。请建议您是否找到我缺少的任何东西。舍甫契克我解决了这个问题。我是DB的复合键映射问题。请在下面添加您的解决方案,并检查它是否正确。如果您解决了问题,请删除您的问题。。。