1、Query query = session.createQuery("from Category");
List<Category> categories = (List<Category>)query.list()
2、Query query = session.createQuery("from Category c where c.name > 'c5' ");
List<Catetory> categories = (List<Category>)query.list();
3、Query query = session.createQuery("from Category c order by c.name desc");
List<Category> cateries = (List<Category)q.list();
4、占位符
Query query = session.createQuery("from Category c where c.id > :min and c.id< :max");
query.setInteger("min",2); //query.setParameter("min",2);
query.setInteger("max", 8);
List<Category> cateries = (List<Category>)query.list();
5、分页
Query query = session.createQuery("from Category c order by c.name desc")
query.setMaxResults(4); // 每页4条
query.setFirstResult(2); // 从第2条开始
List<Category> categories = (List<Category>)query.list();
6、Query query = session.createQuery("select c.id, c.name from Category c order by c.id asc")
List<Object[ ]> categories = (List<Ojbect[ ])query.list();
7、导航查询(Category : Topic,一对多关系)
Query query = session.createQuery("from Topic t where t.category.id = 1");
List<Topic> topics = List<Topic>query.list();
8、联合查询
Query query = session.createQuery("select t.title, c.name from Topic t join t.category c")
List<Object[ ]> objs = (List<Object[ ]>)query.list();
9、对象相等
Query query = session.createQuery("from Msg m where m = :MsgToSearch");
Msg m = new Msg();
m.setId(1);
query.setParameter("MsgToSearch", m);
Msg mResult = (Msg)query.uniqueResult();
10、Query query = session.createQuery("select count(*) from Msg m");
long count = (Long)query.uniqueResult();
11、null vs empty,null:字段,empty:集合
Query query = session.createQuery("from Topic t where t.msgs is empty");
List<Topic> topics = (List<Topic>)query.list();
12、Query query = session.createQuery("select lower(t.title), upper(t.title), trim(t.title), concat(t.title,'***'),length(t.title) from Topic t")
List<Object[ ]> objs = (List<Object[ ] )query.list()
13、SQLQuery query = session.createSQLQuery("select * from category limit 2,3");
query.addEntity(Category.class);
List<Category> categories = query.list();
14、QBC
Criteria c = session.createCriteria(Topic.class) // from Topic
c.add(Restrictions.gt("id",2)); // id > 2
c.add(Restrictions.lt("id", 5)); // id < 5
c.add(Restrictions.like("title", "t_"));
c.createCriteria("category");
c.add(Restrictions.between("id", 2 ,4));
c.list();
15、QBE
Topic tExample = new Topic();
tExmple.setTitle("T_");
Example e = Example.create(tExample).ignoreCase().enabledLike();
Criteria c = session.createCriteria(Topic.class)
.add(Restrictions.gt("id", 2))
.add(e);