【问题标题】:How to get month from sql date and check month is equal to the passing parameter month using Hibernate Criteria如何从sql日期获取月份并检查月份是否等于使用Hibernate Criteria传递的参数月份
【发布时间】:2015-03-01 08:05:09
【问题描述】:

使用下面的函数获取sql日期的月份。但是我没有得到正确的信息,它显示异常,任何人请帮助我

 public static List<data> getCount(Long month,String activity) 
                {    
            session = HibernateUtils.getHibernateConnection();
                            Criteria c = session.createCriteria(Statement.class, "statement");
                            Criteria text = c.createAlias("activity", "activity");
                            c.add(Restrictions.eq("activity.defintionType",activity));
                            c.add(Restrictions.eq("month(statement.stored)",month));
         alist= c.list();
    }

【问题讨论】:

  • 哪个例外...?
  • c.add(Restrictions.eq("month(statement.stored)",month));例外是:格式不正确,
  • 使用完整的 StackTrace 编辑您的问题

标签: java sql hibernate orm hibernate-criteria


【解决方案1】:

改变这一行:

c.add(Restrictions.eq("month(statement.stored)",month));

到这里:

c.add(Restrictions.sqlRestriction("month(stored) = ? ", 1,Hibernate.INTEGER));

假设提供的月份参数是数字类型。

【讨论】:

  • 感谢您的 cmets。但您的解决方案不起作用。我找到了另一个解决方案。 c.add(Restrictions.sqlRestriction("month(stored) = ?", 1,Hibernate.INTEGER));这个正在工作
猜你喜欢
  • 2021-12-16
  • 1970-01-01
  • 1970-01-01
  • 2019-11-09
  • 1970-01-01
  • 1970-01-01
  • 2012-02-16
  • 2018-10-15
  • 2016-04-20
相关资源
最近更新 更多