查询未在 DAO 中给出解决方案 class
Query not giving solution in DAO class
当我 运行 我在数据库可视化工具中的查询工作完美时,但我认为在我的 DAO class 方法中转换它时语法存在一些问题。
我想根据提供的名称获取完整数据
在可视化工具中:
SELECT first_name,last_name,nic,phone,email FROM x_hr_user where (first_name = 'Irum');
现在在 Dao 中
public List<XHrUser> findXHrUserByNameInTable()
{
String name ="Irum";
Query query = em.createQuery("SELECT xHrNewUserObj.firstName,xHrNewUserObj.lastName, xHrNewUserObj.nic, xHrNewUserObj.phone, xHrNewUserObj.emil FROM XHrUser xHrNewUserObj where (xHrNewUserObj.firstName) = (name)");
List<XHrUser> list = query.getResultList();
return list;
}
它不显示单行,而是显示整个数据Table
谢谢
您必须按如下方式编写查询。其中 : 用于变量
Query query = em.createQuery("SELECT xHrNewUserObj.firstName,xHrNewUserObj.lastName, xHrNewUserObj.nic, xHrNewUserObj.phone, xHrNewUserObj.emil FROM XHrUser xHrNewUserObj where (xHrNewUserObj.firstName) = :name");
您当前的查询是无效的 JPQL。您似乎打算将原始 name
字符串插入到您的查询中,这可以通过本机查询来完成,但肯定是不可取的。相反,在您的 JPQL 查询中使用命名参数,然后将 name
绑定到它。
String name = "Irum";
Query query = em.createQuery("SELECT x FROM XHrUser WHERE x.firstName = :name")
.setParameter("name", name);
List<XhrUser> list = query.getResultList();
当我 运行 我在数据库可视化工具中的查询工作完美时,但我认为在我的 DAO class 方法中转换它时语法存在一些问题。
我想根据提供的名称获取完整数据
在可视化工具中:
SELECT first_name,last_name,nic,phone,email FROM x_hr_user where (first_name = 'Irum');
现在在 Dao 中
public List<XHrUser> findXHrUserByNameInTable()
{
String name ="Irum";
Query query = em.createQuery("SELECT xHrNewUserObj.firstName,xHrNewUserObj.lastName, xHrNewUserObj.nic, xHrNewUserObj.phone, xHrNewUserObj.emil FROM XHrUser xHrNewUserObj where (xHrNewUserObj.firstName) = (name)");
List<XHrUser> list = query.getResultList();
return list;
}
它不显示单行,而是显示整个数据Table 谢谢
您必须按如下方式编写查询。其中 : 用于变量
Query query = em.createQuery("SELECT xHrNewUserObj.firstName,xHrNewUserObj.lastName, xHrNewUserObj.nic, xHrNewUserObj.phone, xHrNewUserObj.emil FROM XHrUser xHrNewUserObj where (xHrNewUserObj.firstName) = :name");
您当前的查询是无效的 JPQL。您似乎打算将原始 name
字符串插入到您的查询中,这可以通过本机查询来完成,但肯定是不可取的。相反,在您的 JPQL 查询中使用命名参数,然后将 name
绑定到它。
String name = "Irum";
Query query = em.createQuery("SELECT x FROM XHrUser WHERE x.firstName = :name")
.setParameter("name", name);
List<XhrUser> list = query.getResultList();