HQL与Criteria语句查询

数据库查询HQLCriteria  刚才通过getload只能通过id查询对象,二要通过别的字段则不行必须使用HQL语句Query query=session.createQuery(hql) 然后List list=query.list();,相当于executeQuery 然后遍历数据for,但是当你确定只有一个对象用query.uniqueResult()方法

String hql=”from User as user where user.name=?”;

Query query=session.createQuery(hql);

Query.setString(0,name);容易写错以为当有多个参数的时候位置就容易搞错,就可用这样的方式

String hql=”from User as user where user.name=:name”;

Query query=session.createQuery(hql);

query.setString(“name”,name);根据冒号后的名字来就不会搞错了。

query.setFirstResult(m);

query.setMaxResults(n);可以跨数据库,使用任何数据库分页,表示显示从m开始,每页显示的条数是n,它通过hibernate-cfg.xml配置的方言来完成对分页的判断

 

Criteria方式条件查询

Criteria c=session.createCriteria(User.class);

c.add(Restrictions.eq(“name”,name));相当于query.setString(“name”,name);

eq表示等于ne表示<> or 表示或等等

List<User> users=c.list();   User user=c.uniqueResult();

你可能感兴趣的:(C++,c,Hibernate,xml,C#)