【问题标题】:I am getting null values from database.when i select email in my dao class我从数据库中获取空值。当我在我的 dao 类中选择电子邮件时
【发布时间】:2014-03-21 11:44:15
【问题描述】:

这是我的 DaoImpl 类。

 public DealUser findByUserEmail(String email) 
        {
            session=sessionFactory.getCurrentSession();

            Query query=session.createQuery("from tbldealusers where email=:email");



            query.setParameter("email", dealuser.getEmail());
            List list=query.list();

         return dealuser;
        }

我在restService中调用这个方法

 @RequestMapping(value="/find/{email}",method = RequestMethod.GET)
@ResponseBody
public  DealUser findByUserId(@PathVariable(value = "email") String email)
{


    return userService.findByUserId(email);
}

我得到这样的空值

{"userid":0,"email":null,"password":null,"typeofuserluid":0,"is_deleted":false,"profiles":[]}

提前感谢您的宝贵建议

【问题讨论】:

  • select 语句在哪里?
  • 查询 query=session.createQuery("from tbldealusers where email=:email");在这里我选择语句知道
  • 你应该从方法参数(findByUserEmail(String email))而不是dealeruser.getEmail()中传递email值
  • 我将电子邮件值附加到 url。像这样localhost:8090/SaveDollar/rest/users/find/"abc@gmail.com"
  • 你应该去掉 "" 只是 ..../find/email@address

标签: hibernate postgresql spring-mvc


【解决方案1】:

'tbldealusers' 应该是您的实体类的名称,因为您使用的是休眠查询。应该是“Tbldealusers”。

session.createQuery(..) 使用 HQL(休眠查询语言)。根据session createQuery

根据文档,此方法已被弃用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 2019-10-12
    • 2018-10-24
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多