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的复合键映射问题。请在下面添加您的解决方案,并检查它是否正确。如果您解决了问题,请删除您的问题。。。