在写hql时,应注意 语句中要严格对照 实体类的 各个属性 包括大小写等
例如
实体如下:
在写Impl中如果用到hql 则注意:
上面代码中 rptdate第二单词首字母为小写 而 createTime第二单词首字母为大写 如果大小写没有按照实体的规定来写 会导致错误
经验是 以后要统一规范 避免前面写好了 后面忘记了
例如
实体如下:
- @Entity
- @Table(name="apcm_flow")
- public class Flow extends Page implements Serializable {
- private Integer ID;
- //**流量流向表头信息
- private User user;//用户
- private County county;//地区
- private Date rptdate;//报表时间
- private Date createTime;//上报时间
- //**表体
- private List<FlowBuy> flowBuys;//购入表体
- private List<FlowSale> flowSales;//销售表体
在写Impl中如果用到hql 则注意:
- String rptDateSql = " and f.rptdate=to_date('"+rptDate+"', 'yyyy-mm-dd')";
- StringBuffer hql = new StringBuffer("from Flow f where 1=1");
- hql.append(countySql).append(" order by f.createTime desc");
上面代码中 rptdate第二单词首字母为小写 而 createTime第二单词首字母为大写 如果大小写没有按照实体的规定来写 会导致错误
- could not resolve property: rptDate of:....
经验是 以后要统一规范 避免前面写好了 后面忘记了