Java 如何在hibernate中设置占位符

Java 如何在hibernate中设置占位符,java,hibernate,Java,Hibernate,您好,这是我的java代码,我正在使用hibernate检查此电子邮件id和密码是否存在于db中。是否有人可以告诉我如何将此值放入此占位符 Session ses = HibernateUtil.getSessionFactory().openSession(); String query; query = "from RegisterPojo where email=? and pwd=? "; List<RegBe

您好,这是我的java代码,我正在使用hibernate检查此电子邮件id和密码是否存在于db中。是否有人可以告诉我如何将此值放入此占位符

Session ses = HibernateUtil.getSessionFactory().openSession();
            String query;
            query = "from RegisterPojo where email=? and pwd=? ";
            List<RegBean> list = ses.createQuery(query).list();

            ses.close();
会话ses=HibernateUtil.getSessionFactory().openSession(); 字符串查询; query=“来自RegisterPojo,其中email=?和pwd=?”; List List=ses.createQuery(query.List(); ses.close();
提前感谢

您必须这样修改您的查询

 query = "from RegisterPojo where email =:email and pwd =:password ";

 List<RegisterPojo> list = ses.createQuery(query)
 .setParameter("email",emailVal)
 .setParameter("password",emailVal)
 .list();
query=“来自RegisterPojo,其中email=:email和pwd=:password”;
List List=ses.createQuery(查询)
.setParameter(“电子邮件”,emailVal)
.setParameter(“密码”,emailVal)
.list();

您必须像这样修改查询

 query = "from RegisterPojo where email =:email and pwd =:password ";

 List<RegisterPojo> list = ses.createQuery(query)
 .setParameter("email",emailVal)
 .setParameter("password",emailVal)
 .list();
query=“来自RegisterPojo,其中email=:email和pwd=:password”;
List List=ses.createQuery(查询)
.setParameter(“电子邮件”,emailVal)
.setParameter(“密码”,emailVal)
.list();
会话ses=HibernateUtil.getSessionFactory().openSession();
字符串查询;
query=“来自RegisterPojo,其中email=?和pwd=?”;
List List=ses.createQuery(query).setParameter(0,emailVal).setParameter(1,emailVal).List();
ses.close();
会话ses=HibernateUtil.getSessionFactory().openSession();
字符串查询;
query=“来自RegisterPojo,其中email=?和pwd=?”;
List List=ses.createQuery(query).setParameter(0,emailVal).setParameter(1,emailVal).List();
ses.close();
试试这个

 Session ses = HibernateUtil.getSessionFactory().openSession();
      String query = "from RegisterPojo rp where rp.email = :emailAddress and rp.pwd = :password";
      List<RegisterPojo> list = ses.createQuery(query)
      .setParameter("emailAddress", Your email address)
      .setParameter("password", Your password)
      .list();
      ses.close();
会话ses=HibernateUtil.getSessionFactory().openSession(); String query=“from RegisterPojo rp,其中rp.email=:emailAddress和rp.pwd=:password”; List List=ses.createQuery(查询) .setParameter(“emailAddress”,您的电子邮件地址) .setParameter(“密码”,即您的密码) .list(); ses.close(); 试试这个

 Session ses = HibernateUtil.getSessionFactory().openSession();
      String query = "from RegisterPojo rp where rp.email = :emailAddress and rp.pwd = :password";
      List<RegisterPojo> list = ses.createQuery(query)
      .setParameter("emailAddress", Your email address)
      .setParameter("password", Your password)
      .list();
      ses.close();
会话ses=HibernateUtil.getSessionFactory().openSession(); String query=“from RegisterPojo rp,其中rp.email=:emailAddress和rp.pwd=:password”; List List=ses.createQuery(查询) .setParameter(“emailAddress”,您的电子邮件地址) .setParameter(“密码”,即您的密码) .list(); ses.close();
您应该使用准备好的语句而不是字符串


您应该使用准备好的语句而不是字符串

试试这个

   Session ses = HibernateUtil.getSessionFactory().openSession();
      String query = "from RegisterPojo where email = '" + varEmailAddress + "' and pwd = '" + varPassword + "'";
      List<RegisterPojo> list = ses.createQuery(query).list();
  ses.close();
会话ses=HibernateUtil.getSessionFactory().openSession(); String query=“from RegisterPojo,其中email=”+varEmailAddress+”,pwd=“+varPassword+”; List List=ses.createQuery(query.List(); ses.close(); 试试这个

   Session ses = HibernateUtil.getSessionFactory().openSession();
      String query = "from RegisterPojo where email = '" + varEmailAddress + "' and pwd = '" + varPassword + "'";
      List<RegisterPojo> list = ses.createQuery(query).list();
  ses.close();
会话ses=HibernateUtil.getSessionFactory().openSession(); String query=“from RegisterPojo,其中email=”+varEmailAddress+”,pwd=“+varPassword+”; List List=ses.createQuery(query.List(); ses.close();
抱歉,这不是答案,而是另一个案例,在上面的案例中@Grigoriev Nick建议

 query = "from RegisterPojo where email=? and pwd=? ";
            List<RegBean> list = ses.createQuery(query).setParameter(0,emailVal).setParameter(1,emailVal).list();


抱歉,这不是答案,而是另一个案例,在上面的案例中@Grigoriev Nick建议

 query = "from RegisterPojo where email=? and pwd=? ";
            List<RegBean> list = ses.createQuery(query).setParameter(0,emailVal).setParameter(1,emailVal).list();



你看过
Query
class'javadoc吗?我在bean中有这些值,但我不知道如何放入这些占位符。对不起,我不知道。谢谢你看过
Query
class'javadoc吗?我在bean中有这些值,但我不知道如何放入这些占位符。对不起,我不知道…谢谢如果(list.isEmpty())谢谢,我会检查我的列表是否为空u@user2838630是的,你可以这样做。@Prabhakaran我如何使用标准?@Dener请看这里,如果(list.isEmpty()),我可以检查我的列表是空的还是不是这样的吗感谢u@user2838630是的,你可以这样做。@Prabhakaran我如何使用标准?@Dener请看这里,我认为RegBean需要重命名为RegisterPojo。我认为RegBean需要重命名为RegisterPojo。请将工作解决方案发布到OP的查询中。May/May工作解决方案没有帮助。@mishsx 1我知道我应该提供解决方案,但我不想重复问题,如果需要,我也会这样做。请将工作解决方案发布到OP的查询中。May/May工作解决方案没有帮助。@mishsx 1我知道我应该提供解决方案,但我不想重复这个问题,如果需要的话,我也会这样做