HQL总结

来源:互联网 发布:濮阳招聘数控编程 编辑:程序博客网 时间:2024/05/18 10:04

Query接口,采用方法链,即它的方法会返回Query对象

1."from User where name='张_'" —_表示单个字符
2.from User where name='%刘%' —-%表示任意字符
3.from User u where u.books is not empty—表示集合为空,在sql中相当于exists
4.member of—表示元素属于集合,相当于sql中的in

package com.HQL;import java.util.List;import java.util.Map;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;import org.hibernate.tool.hbm2ddl.SchemaExport;import org.junit.Test;import com.Entity.User;import com.OTMEach.ClassRoom;import com.OTMEach.Student;public class HQL {    private static Configuration cfg = null;    private static SessionFactory sessionFactory = null;    private static ServiceRegistry serviceRegistry = null;    @Test    public void test() {        cfg = new Configuration().configure();        serviceRegistry = new ServiceRegistryBuilder().applySettings(                cfg.getProperties()).buildServiceRegistry();        sessionFactory = cfg.buildSessionFactory(serviceRegistry);        /*         * SchemaExport schemaExport = new SchemaExport(cfg);         * schemaExport.create(true, true);         */        Session session = sessionFactory.getCurrentSession();        Transaction transaction = session.beginTransaction();        1. /* String sql = "from User";           List<User> users =session.createQuery(sql).list();          System.out.println(users);*/        2./*String sql = "select u.id,u.name,u.phone from User  u";        List<Object[]> list = session.createQuery(sql).list();        for (Object[] objs : list) {            System.out.println("id" + objs[0]);            System.out.println("name" + objs[1]);            System.out.println("phone" + objs[2]);        }*/        3./*String sql = "select u.id from User  u";        List<Object> list = session.createQuery(sql).list();        for (Object  obj : list) {            System.out.println("id" + obj);        }*/        4./*String sql = "select new List(u.id,u.name) from User  u";        List<List> lists = session.createQuery(sql).list();        for (List  list : lists) {            System.out.println("id" + list.get(0));            System.out.println("name" + list.get(1));        }*/    5./*    String sql = "select new map(u.id as id,u.name as name) from User  u";        List<Map> lists = session.createQuery(sql).list();        for (Map map : lists) {            System.out.println("id" + map.get("id"));            System.out.println("name" + map.get("name"));        }*/        6./*String sql = "from User  u where name=:name";        User user = (User) session.createQuery(sql).setString("name","张三").uniqueResult();        System.out.println(user);*/        transaction.commit();    }}
0 0