- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是的,我知道有一些关于此错误的帖子,但没有一个对我有帮助。我的 hql 查询出现此错误:
@SuppressWarnings("unchecked")
@Override
public List<StaffRequest> getStaffLeaveRequest(String userID, Date startDate, Date endDate)
{
Session currentSession = sessionFactory.getCurrentSession();
List<StaffRequest> results =
currentSession.createQuery("select new com.timesheet_Webservice.CustomEnity.StaffRequest(lr.leave_ID, lr.leave_Employee, concat(s.staff_First_Name, ' ', s.staff_Last_Name), "
+ "(lr.leave_Days*8.5), lr.leave_Comments, '1805', concat(pro.project_Pastel_Prefix, ' - ', pro.project_Description), lr.leave_Start, lr.leave_End, lr.leave_IsApproved, "
+ "(select lt.leaveType_Description from LeaveType lt where lt.leaveType_ID = lr.leave_Type)) "
+ "from Staff s, Leave lr, Project pro "
+ "where lr.leave_Employee, = s.staff_Code and pro.project_Code = 1805 and lr.leave_Approved = :userID, and lr.leave_IsApproved = 0 and s.staff_IsEmployee <> 0 "
+ "and lr.leave_Start between :startDate and :endDate "
+ "order by concat(s.staff_First_Name, ' ', s.staff_Last_Name)")
.setParameter("userID",userID).setParameter("startDate", startDate).setParameter("endDate", endDate).getResultList();
return results;
}
我不知道问题出在哪里。我尝试仔细地重新输入查询,尝试遵循一些有效的类似查询的格式,但仍然一无所获。请帮忙
更新:经过@Joakim Danielson 修正后的完整错误如下
{"status":400,"message":"org.hibernate.hql.internal.ast.QuerySyntaxException:
unexpected token: , near line 1, column 665 [select new com.timesheet_Webservice.CustomEnity.StaffRequest(lr.leave_ID, lr.leave_Employee, concat(s.staff_First_Name, ' ', s.staff_Last_Name),
(lr.leave_Days*8.5), lr.leave_Comments, '1805', concat(pro.project_Pastel_Prefix, ' - ', pro.project_Description),
lr.leave_Start, lr.leave_End, lr.leave_IsApproved, (select lt.leaveType_Description from com.timesheet_Webservice.entity.LeaveType lt where lt.leaveType_ID = lr.leave_Type)) from com.timesheet_Webservice.entity.Staff s,
com.timesheet_Webservice.entity.Leave lr, com.timesheet_Webservice.entity.Project pro where lr.leave_Employee = s.staff_Code and pro.project_Code = 1805 and lr.leave_Approved = :userID,
and lr.leave_IsApproved = 0 and s.staff_IsEmployee <> 0 and lr.leave_Start between :startDate and :endDate order by concat(s.staff_First_Name, ' ', s.staff_Last_Name)]","timeStamp":1548935385459}
最佳答案
“其中lr.leave_Employee, = s.staff_Code”,删除逗号
where lr.leave_Employee = s.staff_Code
“lr.leave_Approved = :userID,”中有第二个逗号错误
lr.leave_Approved = :userID
请注意,您的错误消息中有 unexpected token: , near line 1, column 665
因此,如果将错误消息中打印的查询粘贴到文本编辑器中并删除换行符和多余空格,您将在列(或位置,如果您愿意)中找到错误 665。
偏离主题,但我建议您了解在查询中使用 JOIN,它大大提高了可读性
关于java - 获取 QuerySyntaxException : unexpected token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54458858/
我有一个像这样的 UserAssignmentRole 类: @Data @Entity public class UserAssignmentRole { ... @Enumerat
尝试从 Java 服务层进行简单的选择,这是我的模型: import java.io.Serializable; import javax.persistence.Column; import jav
我有以下类(class): public class MyClass { private List _myList = new List(); public virtual strin
当我尝试使用 Hibernate 创建任何数据库查询时,我犯了同样的错误: Error code 道法: @Override public List findAll() { openCurre
我正在关注这个Tutorial 。我添加了另一个 DAO,用于检索 admin_roles 表。该方法如下所示 public List findAllAdminRoleByUserName(Strin
我目前正在从事一个实用程序项目,该项目将帮助我管理应用程序的用户(一个用户有一个或多个角色,一个角色有一个或多个权限)。我是 Hibernate 的新手,不知道为什么会遇到以下问题: ERROR [h
我目前正在从事一个实用程序项目,该项目将帮助我管理应用程序的用户(一个用户有一个或多个角色,一个角色有一个或多个权限)。我是 Hibernate 的新手,不知道为什么会遇到以下问题: ERROR [h
当我尝试执行下一个 HQL 查询时,出现下一个错误: org.hibernate.hql.internal.ast.QuerySyntaxException: Unable to locate app
我已经创建了一个 Hibernate 配置 maven 项目(使用 maven-shade-plugin 构建)以允许我的代码库使用一个统一的“数据库类”。但是,当从正在运行的项目外部调用时,该类似乎
是的,我知道有一些关于此错误的帖子,但没有一个对我有帮助。我的 hql 查询出现此错误: @SuppressWarnings("unchecked") @Override public List ge
我用 spring-boot 开始了一个新项目,以 MySQL 作为数据库系统。但是当我从数据库中读取数据时,我得到了 org.hibernate.hql.internal.ast.QuerySynt
我查询了 3 个具有 HQL 类的表。存在一些一对多的关系。 我的数据库或我的实体类都没有问题.. 我有一些 hibernate DAO 类查询,除了这个以外其他都很好.. jasperreport
我一直在玩一个非常简单的 JPA 示例,并试图将其调整为现有数据库。但我无法克服这个错误。 (下。)它只是一些我没有看到的简单的东西。 org.hibernate.hql.internal.ast.Q
我从前端发送一个值来搜索我的实体 Producto 的两个属性。该属性是Codigo 和Description。 问题是当 TypedQuery typedQuery = em.createQuery
完整错误消息: 11:49:51,896 INFO [stdout] (http-localhost-127.0.0.1-8080-1) javax.ejb.EJBException: java.la
我是 JPA 新手,正在尝试创建 EJB 3.0 + JPA( hibernate )应用程序。当我将数据持久保存到数据库时出现异常。 sessionBean方法: @PersistenceC
我的Spring数据查询是: @Query("FROM NewsFeed nf where dealRoom.id =:dealRoomId and (fileFolder IN :folders o
我收到这个错误: Caused by: javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.in
在使用 Hibernate 构建查询时,我注意到一些相当奇怪的事情。如果我为 ORDER BY 子句使用顺序命名参数,Hibernate 会抛出一个 QuerySyntaxException(冒号前缀
我收到一个错误,如下所示: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: Direct
我是一名优秀的程序员,十分优秀!