PostgreSQL DAO.java方法获取单个int值

时间:2015-12-23 08:35:10

标签: java hibernate select dao

这是我使用的方法:

  public int getId(String proyectName)
    {

      int idproyect=0;



        try
        {
            Session session= hibernateUtil.getSessionFactory().openSession();  
            String hql = "Select idproyect from proyect where name= :proyectName";
             Query query = session
                        .createQuery(hql);
             query.setParameter("proyectName", proyectName);
             idproyect= (Integer)query.uniqueResult();
        }
        catch(Exception e)
        {


        }
        return idproyect;
    }

无论变量是否被引入方法,我得到的结果是0,它与idproyect默认值匹配。 我检查了我的日志,正在执行选择,但结果仍为0,无论如何。 我认为它与查询转换为Integer唯一值有关。 这个问题让我关注了2天,但我忽略了直到今天因为我需要解决这个问题才能继续我的项目。

我不认为它的相关性,但我使用Hibernate来持久化类。

祝福每一个人和圣诞节快乐。

1 个答案:

答案 0 :(得分:0)

你试试这个获得单个int值

  String hql = "Select idproyect from proyect where name= :proyectName";
  Query query2 = entitymanager.createNativeQuery(hql).setParameter("proyectName", proyectName);
    BigInteger obj = (BigInteger) query2.getSingleResult();
    System.out.println("%%%%%%%" + obj);
    System.out.println(obj);
    long id = Long.valueOf(obj.toString()));
    System.out.println(id);