java - Saya mempunyai soalan hql dan ia telah mengecewakan saya selama sehari.
高洛峰
高洛峰 2017-05-16 13:23:28
0
3
441

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(3)
某草草

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

Peter_Zhu

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan