Rumah  >  Soal Jawab  >  teks badan

java - Saya mempunyai soalan hql dan ia telah mengecewakan saya selama sehari.

@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. . .

高洛峰高洛峰2683 hari yang lalu401

membalas semua(3)saya akan balas

  • 某草草

    某草草2017-05-16 13:25:28

    Terima kasih atas bantuan anda. Saya tidak boleh menggunakan tanda soal dalam hql. Saya juga tidak boleh memahaminya

    balas
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:25:28

    Penyahpepijatan satu langkah pertama keluarkan alias hql

    balas
    0
  • 天蓬老师

    天蓬老师2017-05-16 13:25:28

    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=?

    balas
    0
  • Batalbalas