相关疑难解决方法(0)

命名查询中的 Hibernate 错误

我正在尝试从当前日期位于任何给定月份的第一天和最后一天之间的表中提取信息。

我收到运行时错误“命名查询中的错误:Department.byDate”

我向您提供了我认为可能导致问题的代码,如果需要任何其他代码,请在评论中告诉我。

我的命名查询如下所示:

@NamedQuery(name="Department.byDate", query="select * from department where date >= :first AND date <= :last")
Run Code Online (Sandbox Code Playgroud)

我在 DAO 中使用这个命名查询,方法如下:

public List<Department> getRecords(Date dateFirst, Date dateLast){
    Session session= sessionFactory.openSession();
    session.beginTransaction();

    Query query = session.getNamedQuery("Department.byDate");
    query.setDate("first", dateFirst);
    query.setDate("last", dateLast);

    List<Department> depList = (List<Department>)query.list();

    session.getTransaction().commit();
    session.close();

    return depList;
}
Run Code Online (Sandbox Code Playgroud)

我获取每月第一天和最后一天的方法如下:

Calendar first = Calendar.getInstance();
first.set(Calendar.getInstance().get(Calendar.YEAR), Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().getActualMinimum(Calendar.DAY_OF_MONTH));
Date dateFirst = first.getTime();

Calendar last = Calendar.getInstance();
first.set(Calendar.getInstance().get(Calendar.YEAR), Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH));
Date dateLast = last.getTime();
Run Code Online (Sandbox Code Playgroud)

java mysql hibernate pojo named-query

3
推荐指数
1
解决办法
1673
查看次数

标签 统计

hibernate ×1

java ×1

mysql ×1

named-query ×1

pojo ×1