hibernate各种查询

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);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值