hibernate expecting IDENT, found '*' 怎么解决?

getHibernateTemplate().find("select s.* from Catalog c,Subcatalog s where c.catalogid=s.catalogid order by c.catalogid");
会出现ERROR: org.hibernate.hql.PARSER#reportError : line 1:19: expecting IDENT, found '*' 怎么解决?

还有一个小问题,关于泛型的警告可以忽略吗?
// 执行HQL查询,返回查询的结果
public List<? extends Object> find(String where) {
return getHibernateTemplate().find(where);
}

如果List后不加<? extends Object>,就出现警告,如果加了,调用的时候转换List又出现警告了


Answer1:

getHibernateTemplate().find("from Catalog c,Subcatalog s where c.catalogid=s.catalogid order by c.catalogid");
这样是可以的,呵呵!

Answer2:

有种比较笨的方法:
将你的Subcatalog s 中的所有字段都列出来就可以了,不要用*号

Answer3:

1,跟3楼一样,要不就把字段列出
2,List<? extends Object>泛型,加上的话,应该要具体制定类型。调用也需要制定的。(一般有些警告可以忽略)

Answer4:

你把Subcatalog中的字段都列出来不就可以了么??
或者你select new Subcatalog(这里面要放你的Subcatalog中的字段) from Catalog c,Subcatalog s where c.catalogid=s.catalogid order by c.catalogid
前提Subcatalog类中必须有构造方法,

Answer5:

List list = subcatalogDao
.createSQLQuery(
"select {s.*} from Catalog c,Subcatalog {s} where c.catalogid=s.catalogid order by c.catalogid",
"s", Subcatalog.class);
return list;

public  List createSQLQuery(String hsql,String name,Class obj) {       
     Session session =  this .openSession();
     Query query = session.createSQLQuery(hsql).addEntity(name,obj);
     return  query.list();
}







public List createSQLQuery(String hsql,String name,Class obj) {
Session session = this.openSession();
Query query = session.createSQLQuery(hsql).addEntity(name,obj);
return query.list();
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值