@SuppressWarnings("JpaQlInspection")
@Override
public String queryUGI(String openid, String ka) {
String hql="from UserGameInformation as ugi where ugi.ka=?0 and ugi.openid=?1";
Session session = this.getSession();
Query query = session.createQuery(hql);
query.setParameter(0, ka);
query.setParameter(1,openid);
UserGameInformation userGameInformation = (UserGameInformation)query.list().get(0);
String result=userGameInformation.getTime();
return result;
}
Ini adalah hql saya untuk mengendalikan pangkalan data
@RequestMapping(value = "/summary",method= RequestMethod.POST)
@ResponseBody
public void summary(HttpServletRequest request)
{
String ka = request.getParameter("ka");
String time = request.getParameter("time");
HttpSession session = request.getSession();
UserEntity userEntity = (UserEntity) session.getAttribute("user");
String t = userGameInformationService.queryUGI(userEntity.getOpenid(),ka);
if(t==""){
System.out.println("dkhdhfkdfhkldf");
UserGameInformation ugi = new UserGameInformation();
ugi.setOpenid(userEntity.getOpenid());
ugi.setKa(ka);
ugi.setTime(time);
userGameInformationService.addUserGameInformation(ugi);
}
else if(Integer.parseInt(t)<Integer.parseInt(time)){
return;
}
else {
UserGameInformation ugi = userGameInformationService.findUser(userEntity.getOpenid(),ka);
ugi.setKa(ka);
ugi.setTime(time);
ugi.setOpenid(userEntity.getOpenid());
userGameInformationService.updateUserGameInformation(ugi);
}
}
Saya sedang membuat panggilan
Pada asalnya, ia tersedia malam tadi, tetapi jika anda tidak tahu apa yang berlaku hari ini, pelaksanaan nyahpepijat pergi ke query.setParameter(0, ka); . Saya hanya mengklik untuk melaraskannya. Konsol tidak melaporkan ralat, tetapi saya tidak tahu sebabnya. . .
Terima kasih atas bantuan anda. Saya tidak boleh menggunakan tanda soal dalam hql. Saya juga tidak boleh memahaminya
Penyahpepijatan satu langkah pertama keluarkan alias hql
Perhatikan nilai t dahulu, kemungkinan besar syarat ini dipenuhi
Integer.parseInt(t)<Integer.parseInt(time)
Nilai null dikembalikan, jadi data dalam pangkalan data tidak berubah.
Jika tidak, semak sama ada terdapat apa-apa yang salah dengan kod berkaitan anda yang lain dan ubahnya.
Selain itu, saya tidak tahu sama ada pernyataan hql anda betul Dari apa yang saya faham, ia sepatutnya ditulis seperti ini, seperti
dari Student s where s.id= dan s.name=?