我有正在执行的hql查询,但是收到一个我不太真正理解其原因的错误。我做了各种测试,但错误似乎不是由我的休假表名称引起的。我什至不能做一个简单的“ from Leave”查询,并且我会收到同样的错误。但是,如果我将工作台数据库中的表重命名为其他任何名称(甚至只是“叶子”),则查询将执行而不会出错。我不明白为什么会这样。是在mysql工作台中留下某种保留字还是什么?
这是我的代码
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spUpdateHistoricLoad]
@idRegister INTEGER,
@route VARCHAR(100)
AS
BEGIN
UPDATE tOperation SET ImagenMulti = @route WHERE IDRegister = @idRegister
END
这是我的实体:
public List<StaffRequest> getStaffLeaveRequest() {
Session currentSession = entityManagerFactory.unwrap(SessionFactory.class).openSession();
List<StaffRequest> results = currentSession.createQuery(
"select from Leave").getResultList();
return results;
}
这是堆栈跟踪
@Entity
@Table(name="leave")
public class Leave
{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="Leave_ID")
int leave_ID;
....
}
答案 0 :(得分:1)
尝试在表名中添加引号。
@Table(name = "\"leave\"")