zoukankan      html  css  js  c++  java
  • HQL查询语言的使用介绍

    @SuppressWarnings("deprecation")
    public class HibernateUtil {
    
        private static final SessionFactory sessionFactory;
    
        static {
            sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
        }
    
        public static Session getOpenSession() {
            return sessionFactory.openSession();
        }
    
        public static Session getCurrentSession() {
            return sessionFactory.getCurrentSession();
        }
    }
    @Entity
    public class Employee {
    
        private Integer id;
        private String name;
        private Integer age;
    
        @Id
        @GeneratedValue
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        @Basic
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        @Basic
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        public String toString() {
            return "id:" + id + "   " + "name:" + name +  "   " + "age:" + age;
        }
    }
    @SuppressWarnings("all")
    public class HQLDemo {
    
        @Test
        public void testHQL() {
            Session session = HibernateUtil.getOpenSession();
            List<Employee> employeeList = session.createQuery("from Employee as e").list();
            for(Employee e : employeeList)
                System.out.println(e);
        }
    
        @Test
        public void testHQLHasParameter() {
            Session session = HibernateUtil.getOpenSession();
            List<Employee> employeeList = session.createQuery("from Employee as e where e.name = :personName").setString("personName", "xujianguo").list();
            for(Employee e : employeeList)
                System.out.println(e);
        }
    }
    
    HQL是Hibernate Query Language的缩写,语法很想SQL,但是HQL是一种面向对象的查询语言。SQL的操作对象是数据列、表等数据库对象,而HQL操作的是类、实例、属性

    HQL查询依赖于Query类,每个Query实例对应一个查询对象,使用HQL查询按如下步骤进行:

    1.获取Hibernate Session对象 2.编写HQL语句 3.以HQL语句作为参数,调用Session的createQuery方法创建查询对象 4.如果HQL语句包含参数,则调用Query的setXxx方法为参数赋值 5.调用Query独享的list()或uniqueResult()方法返回查询结果列表

    简单的例子:

    HQL查询的from子句:
    
    from是最简单的HQL语句,也是最基本的HQL语句,from关键字后紧跟持久化类的类名,如:
    
    from Employee表名从Employee类中选出全部的实例
    
    不过我们常用的是这样做:
    
    from employee as e这个e就是Employee的别名,也就是实例名,推荐这么写。
    
      HQL查询的select子句:
    
      select子句用于选择指定的属性或直接选择某个实体,当然select选择的属性必须是from后持久化类包含的属性,如:
    
    select e.name from Employee as e  select可以选择任意属性,即不仅可以选择持久化类的直接属性,还可以选择组件属性包含的属性,如:
    
    select e.name.firstName from Employee as eHQL查询的聚集函数:
    
      聚集函数:  
    
        avg:计算属性的平均值
    
        count:统计选择对象的数量
    
        max:统计属性值的最大值
    
        min:统计属性值的最小值
    
        sum:计算属性值的总和
    
    如:
    select count(*) from Employee as e    @Test
        public void testHQLFunction()
    {
            Session session = HibernateUtil.getOpenSession();
           
    System.out.println(session.createQuery("select count(*) from Employee as
    e").uniqueResult());
        }  

     多态查询:

      HQL不仅会查询出该持久化类的全部实例,还会查询出该类的子类的全部实例,前提是存在继承映射。

      HQL查询的where子句:

      where子句主要用于筛选选中的结果,缩小选择的范围,如:

    from employee as e where e.name like "xjg%"    @Test
        public void testHQLWhere() {
            Session session = HibernateUtil.getOpenSession();
            List<Employee> employeeList = session.createQuery("from Employee as e where e.name like 'zhou%'").list();
            for(Employee e : employeeList)
                System.out.println(e);
        }  
    

     order by子句:

      查询返回结合可以根据类或组件属性的任何属性进行排序,还可以使用asc或desc关键字指定升序或者降序,如:

    from Employee as e order by e.name desc  

    子查询:

      子查询中就是查询语句中还有查询语句,如:

    from Employee as e where e.age > (select p.age from Person as p)    @Test
        public void testHQLChildQuery() {
            Session session = HibernateUtil.getOpenSession();
            List<Employee> employeeList = session.createQuery("from Employee as e where e.age > (select e1.age from Employee as e1 where e1.name = 'xujianguo')").list();
            for(Employee e : employeeList)
                System.out.println(e);
        }  
    [code]
    
        命名查询:
    
    HQL查询还支持将查询所用的HQL语句放入配置文件中,而不是代码中,在Hibernate映射文件的<hibernate-mapping>元素中使用<query>子元素来定义命名查询,这个<query>元素只需指定一个name属性,指定该命名查询的名字 ,如:
    
    [code]
    <query name="query">
        from Employee as e
    <query />  
    

     Session里提供了一个getNamedQuery(String
    name)方法,该方法用于创建一个Query对象,一旦获得Query对象,剩下的工作就跟前面的一样了。

    @Test
        public void testHQLNamedQuery() {
            Session session = HibernateUtil.getOpenSession();
            List<Employee> employeeList = session.getNamedQuery("query").list();
            for(Employee e : employeeList)
                System.out.println(e);
        }
    
    HQL 查询语句
    
    /**
     * 
     */
    package com.b510.example;
    
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    
    import org.hibernate.Criteria;
    import org.hibernate.FetchMode;
    import org.hibernate.Query;
    import org.hibernate.Session;
    
    /**
     * 
     * @author XHW
     * 
     * @date 2011-6-18
     * 
     */
    public class HibernateTest {
    
     /**
      * @param args
      */
     public static void main(String[] args) {
      HibernateTest test = new HibernateTest();
      test.where();
      test.function();
      test.update();
      test.jiaoChaCheck();
      test.innerJoin();
      test.QBC();
      test.leftOuterJoin();
      test.rightOuterJoin();
     }
    
    
     public void where() {
      // 使用where查询
      Session session = HibernateSessionFactoryUtil.getSessionFactory()
        .openSession();
      session.beginTransaction();
      Query query = session
        .createQuery("from User where id not between 200 and 2000");
      List<User> list = query.list();
    
      for (User user : list) {
       System.out.println(user.getId() + user.getUsername());
      }
      // 投影查询 中使用where子句
      query = session.createQuery("select username from User where id=2");
      List<String> listname = query.list();
    
      for (String name : listname) {
       System.out.println(name);
      }
      // in查询
      query = session
        .createQuery("from User where username in ('Hongten','Hanyuan','dfgd')");
      List<User> listin = query.list();
    
      for (User user : listin) {
       System.out.println(user.getId() + user.getUsername());
      }
      // like查询
      query = session.createQuery("from User where username not like 'Hon%'");
      List<User> listlike = query.list();
    
      for (User user : listlike) {
       System.out.println(user.getId() + user.getUsername());
      }
      // null查询
      query = session.createQuery("from User where password is null");
      List<User> listnull = query.list();
    
      for (User user : listnull) {
       System.out.println(user.getId() + user.getUsername());
      }
      // and查询
      query = session
        .createQuery("from User where password is not null and id<5");
      List<User> listand = query.list();
    
      for (User user : listand) {
       System.out.println(user.getId() + user.getUsername()
         + user.getPassword());
      }
      // order by
      query = session.createQuery("from User order by username,id desc");
      List<User> listorderby = query.list();
    
      for (User user : listorderby) {
       System.out.println(user.getId() + user.getUsername());
      }
      // 使用"?"号 作为参数占位符,一条HQL语句中可以使用多个?
      // query.setInteger(0,2)
      // query.setString(0,"Hongten")
      query = session
        .createQuery("select username from User where username=?");
      query.setString(0, "Hongten");
      List<String> listwenhao = query.list();
      for (String name : listwenhao) {
       System.out.println(name);
      }
    
      session.getTransaction().commit();
    
     }
    
     public void function() {// 把大写字母转化为小写字母
      // 作用可以用在:比如在一个用户注册的程序中,大小写不容易区分,但是全部转化为小写后就可以很容易进行比较
      Session session = HibernateSessionFactoryUtil.getSessionFactory()
        .openSession();
      session.beginTransaction();
      // 输出原始的数据
      Query query = session.createQuery("select username from User");
      List<String> list = query.list();
    
      for (String name : list) {
       System.out.println(name);
      }
      System.out.println("-------------------------------------------");
      // 输出的数据全部转化为小写
      query = session.createQuery("select lower(username) from User");
      List<String> listChange = query.list();
    
      for (String name : listChange) {
       System.out.println(name);
      }
      session.getTransaction().commit();
     }
    
     public void update() {
      Session session = HibernateSessionFactoryUtil.getSessionFactory()
        .openSession();
      session.beginTransaction();
      Query query = session
        .createQuery("update User set username='洪伟1231' where id=?");
      query.setInteger(0, 3);
      int rowCount = query.executeUpdate();
      System.out.println(rowCount);
      session.getTransaction().commit();
     }
    
     public void operateProfile() {// 对profile这个类执行HQL语句操作
      Session session = HibernateSessionFactoryUtil.getSessionFactory()
        .openSession();
      session.beginTransaction();
      // 执行查询操作
      Query query = session.createQuery("from Profile");
      List<Profile> list = query.list();
      for (Profile profile : list) {
       System.out.println(profile.getId() + profile.getEmail()
         + profile.getAddress() + profile.getMobile()
         + profile.getPostcode());
      }
      // 执行删除操作
      query = session.createQuery("delete from Profile where id=?");
      query.setInteger(0, 3);
      int rowCount = query.executeUpdate();
      System.out.println(rowCount);
      session.getTransaction().commit();
     }
    
     public void jiaoChaCheck() {//交叉查询
      //这种方法查询出来的结果是笛卡尔积,对于我们开发中没有多大用处
      Session session = HibernateSessionFactoryUtil.getSessionFactory()
        .openSession();
      session.beginTransaction();
      Query query=session.createQuery("from User,Profile");
    
      List<Object[]> list=query.list();
    
      for(Object[] values:list){
       User user=(User)values[0];
       System.out.print("ID :"+user.getId()+",UserName:"+user.getUsername()+",Password:"+user.getPassword());
       Profile profile=(Profile)values[1];
       System.out.println(profile.getEmail()+profile.getMobile()+profile.getAddress()+profile.getPostcode());
      }
    
      session.getTransaction().commit();
     }
    
     public void innerJoin(){//内连接查询
      /**
       * 下面三种hql语句都是可以得到相同的结果
       * String hql="select p from Profile as p inner join p.user";
       * 在下面的hql语句中加入"fetch"后,此hql语句变为了"迫切HQL"语句,这样的查询效率要比上面的hql语句要高
       * String hql="select p from Profile as p inner join fetch p.user";
       * 
       * String hql="select p from Profile p,User u where p.user=u";
       * String hql="select p from Profile p,User u where p.user.id=u.id";
       *  
       */  
      Session session = HibernateSessionFactoryUtil.getSessionFactory()
        .openSession();
      session.beginTransaction();
      String hql="select p from Profile as p inner join fetch p.user";
      //String hql="select p from Profile p,User u where p.user=u";
      //String hql="select p from Profile p,User u where p.user.id=u.id";
      Query query=session.createQuery(hql);
      List<Profile> list=query.list();
      for(Profile p:list){
       System.out.println("ID:"+p.getUser().getId()+"   Username: "+p.getUser().getUsername()+"   Email: "+p.getEmail()+",   Address: "+p.getAddress());
      }
      session.getTransaction().commit();
      }
    
     public void QBC(){//QBC中实现内连接查询
      Session session=HibernateSessionFactoryUtil.getSessionFactory().openSession();
      session.beginTransaction();
      Criteria criteria=session.createCriteria(Profile.class).createCriteria("user");
      List<Profile> list=criteria.list();
    
      for(Profile p:list){
       System.out.println("ID:"+p.getUser().getId()+"   Username: "+p.getUser().getUsername()+"   Email: "+p.getEmail()+",   Address: "+p.getAddress());
      }
      //QBC中实现外连接
      System.out.println("##################################################");
      criteria=session.createCriteria(Profile.class).setFetchMode("user", FetchMode.JOIN);
      List<Profile> listp=criteria.list();
    
      for(Profile p:list){
       System.out.println("ID:"+p.getUser().getId()+"   Username: "+p.getUser().getUsername()+"   Email: "+p.getEmail()+",   Address: "+p.getAddress());    
      }  
      session.getTransaction().commit();
     }
    
     public void leftOuterJoin(){//左外连接
      /**
       * String hql="select p from Profile p left outer join p.user order by p.user.id";
       * 在下面的hql语句中加入"fetch"后,此hql语句变为了"迫切HQL"语句,这样的查询效率要比上面的hql语句要高
       * String hql="select p from Profile p left outer join fetch p.user order by p.user.id";
       *
       * String hqlu="select u from User u left outer join u.profiles";
       *  在下面的hql语句中加入"fetch"后,此hql语句变为了"迫切HQL"语句,这样的查询效率要比上面的hql语句要高
       * String hqlu="select u from User u left outer join fetch u.profiles";
       */
      Session session=HibernateSessionFactoryUtil.getSessionFactory().getCurrentSession();
      session.beginTransaction();
      String hql="select p from Profile p left outer join fetch p.user order by p.user.id";
      Query query=session.createQuery(hql);
    
      List<Profile> list=query.list();
      for(Profile p:list){
       System.out.println("ID:"+p.getUser().getId()+"   Username: "+p.getUser().getUsername()+"   Email: "+p.getEmail()+",   Address: "+p.getAddress());
      }
    
      System.out.println("-------------------------------------");
      String hqlu="select u from User u left outer join fetch u.profiles";
      query=session.createQuery(hqlu);
    
      List<User> listu=query.list();
      for(User u:listu){
       System.out.println(u.getId()+u.getUsername()+u.getProfiles());
      }
      session.getTransaction().commit();
    
     }
    
     public void rightOuterJoin(){//右外连接
      Session session=HibernateSessionFactoryUtil.getSessionFactory().getCurrentSession();
      session.beginTransaction();
      String hql="select u from User u right outer join u.profiles order by u.id";
      Query query=session.createQuery(hql);
    
      List<User> listu=query.list();
      for(User user:listu){
       System.out.println(user.getId()+user.getUsername()+user.getProfiles());
      }
    
      session.getTransaction().commit();
    
     }
    
    }
    
    结果:
    
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
    log4j:WARN Please initialize the log4j system properly.
    Hibernate: 
        select
            user0_.id as id0_,
            user0_.username as username0_,
            user0_.password as password0_ 
        from
            users.user user0_ 
        where
            user0_.id not between 200 and 2000
    1hongten
    2hanyuan
    3hongwei
    4mingliu
    5shouzhang
    Hibernate: 
        select
            user0_.username as col_0_0_ 
        from
            users.user user0_ 
        where
            user0_.id=2
    hanyuan
    Hibernate: 
        select
            user0_.id as id0_,
            user0_.username as username0_,
            user0_.password as password0_ 
        from
            users.user user0_ 
        where
            user0_.username in (
                'Hongten' , 'Hanyuan' , 'dfgd'
            )
    1hongten
    2hanyuan
    Hibernate: 
        select
            user0_.id as id0_,
            user0_.username as username0_,
            user0_.password as password0_ 
        from
            users.user user0_ 
        where
            user0_.username not like 'Hon%'
    2hanyuan
    4mingliu
    5shouzhang
    Hibernate: 
        select
            user0_.id as id0_,
            user0_.username as username0_,
            user0_.password as password0_ 
        from
            users.user user0_ 
        where
            user0_.password is null
    Hibernate: 
        select
            user0_.id as id0_,
            user0_.username as username0_,
            user0_.password as password0_ 
        from
            users.user user0_ 
        where
            (
                user0_.password is not null
            ) 
            and user0_.id<5
    1hongten123
    2hanyuan5645645
    3hongwei5645645
    4mingliu5645645
    Hibernate: 
        select
            user0_.id as id0_,
            user0_.username as username0_,
            user0_.password as password0_ 
        from
            users.user user0_ 
        order by
            user0_.username,
            user0_.id desc
    2hanyuan
    1hongten
    3hongwei
    4mingliu
    5shouzhang
    Hibernate: 
        select
            user0_.username as col_0_0_ 
        from
            users.user user0_ 
        where
            user0_.username=?
    hongten
    Hibernate: 
        select
            user0_.username as col_0_0_ 
        from
            users.user user0_
    hongten
    hanyuan
    hongwei
    mingliu
    shouzhang
    -------------------------------------------
    Hibernate: 
        select
            lower(user0_.username) as col_0_0_ 
        from
            users.user user0_
    hongten
    hanyuan
    hongwei
    mingliu
    shouzhang
    Hibernate: 
        update
            users.user 
        set
            username='Hongwei1231' 
        where
            id=?
    1
    Hibernate: 
        select
            user0_.id as id0_0_,
            profile1_.id as id1_1_,
            user0_.username as username0_0_,
            user0_.password as password0_0_,
            profile1_.user_id as user2_1_1_,
            profile1_.email as email1_1_,
            profile1_.phone as phone1_1_,
            profile1_.mobile as mobile1_1_,
            profile1_.address as address1_1_,
            profile1_.postcode as postcode1_1_ 
        from
            users.user user0_,
            users.profile profile1_
    ID :1,UserName:hongten,Password:123hongtenzone@foxmail.com45464Guangzhoushi65465
    ID :1,UserName:hongten,Password:123hanyuan@foxmail.com45648255GuangzhoushiDianbian65465
    ID :1,UserName:hongten,Password:123hanyuan@foxmail.com45648255GuangzhoushiDianbian65465
    ID :2,UserName:hanyuan,Password:5645645hongtenzone@foxmail.com45464Guangzhoushi65465
    ID :2,UserName:hanyuan,Password:5645645hanyuan@foxmail.com45648255GuangzhoushiDianbian65465
    ID :2,UserName:hanyuan,Password:5645645hanyuan@foxmail.com45648255GuangzhoushiDianbian65465
    ID :3,UserName:Hongwei1231,Password:5645645hongtenzone@foxmail.com45464Guangzhoushi65465
    ID :3,UserName:Hongwei1231,Password:5645645hanyuan@foxmail.com45648255GuangzhoushiDianbian65465
    ID :3,UserName:Hongwei1231,Password:5645645hanyuan@foxmail.com45648255GuangzhoushiDianbian65465
    ID :4,UserName:mingliu,Password:5645645hongtenzone@foxmail.com45464Guangzhoushi65465
    ID :4,UserName:mingliu,Password:5645645hanyuan@foxmail.com45648255GuangzhoushiDianbian65465
    ID :4,UserName:mingliu,Password:5645645hanyuan@foxmail.com45648255GuangzhoushiDianbian65465
    ID :5,UserName:shouzhang,Password:5645645hongtenzone@foxmail.com45464Guangzhoushi65465
    ID :5,UserName:shouzhang,Password:5645645hanyuan@foxmail.com45648255GuangzhoushiDianbian65465
    ID :5,UserName:shouzhang,Password:5645645hanyuan@foxmail.com45648255GuangzhoushiDianbian65465
    Hibernate: 
        select
            profile0_.id as id1_0_,
            user1_.id as id0_1_,
            profile0_.user_id as user2_1_0_,
            profile0_.email as email1_0_,
            profile0_.phone as phone1_0_,
            profile0_.mobile as mobile1_0_,
            profile0_.address as address1_0_,
            profile0_.postcode as postcode1_0_,
            user1_.username as username0_1_,
            user1_.password as password0_1_ 
        from
            users.profile profile0_ 
        inner join
            users.user user1_ 
                on profile0_.user_id=user1_.id
    ID:1   Username: hongten   Email: hongtenzone@foxmail.com,   Address: Guangzhoushi
    ID:2   Username: hanyuan   Email: hanyuan@foxmail.com,   Address: GuangzhoushiDianbian
    ID:3   Username:Hongwei1231   Email: hanyuan@foxmail.com,   Address: GuangzhoushiDianbian
    Hibernate: 
        select
            this_.id as id1_1_,
            this_.user_id as user2_1_1_,
            this_.email as email1_1_,
            this_.phone as phone1_1_,
            this_.mobile as mobile1_1_,
            this_.address as address1_1_,
            this_.postcode as postcode1_1_,
            user1_.id as id0_0_,
            user1_.username as username0_0_,
            user1_.password as password0_0_ 
        from
            users.profile this_ 
        inner join
            users.user user1_ 
                on this_.user_id=user1_.id
    ID:1   Username: hongten   Email: hongtenzone@foxmail.com,   Address: Guangzhoushi
    ID:2   Username: hanyuan   Email: hanyuan@foxmail.com,   Address: GuangzhoushiDianbian
    ID:3   Username: Hongwei1231   Email: hanyuan@foxmail.com,   Address: GuangzhoushiDianbian
    ##################################################
    Hibernate: 
        select
            this_.id as id1_1_,
            this_.user_id as user2_1_1_,
            this_.email as email1_1_,
            this_.phone as phone1_1_,
            this_.mobile as mobile1_1_,
            this_.address as address1_1_,
            this_.postcode as postcode1_1_,
            user2_.id as id0_0_,
            user2_.username as username0_0_,
            user2_.password as password0_0_ 
        from
            users.profile this_ 
        left outer join
            users.user user2_ 
                on this_.user_id=user2_.id
    ID:1   Username: hongten   Email: hongtenzone@foxmail.com,   Address: Guangzhoushi
    ID:2   Username: hanyuan   Email: hanyuan@foxmail.com,   Address: GuangzhoushiDianbian
    ID:3   Username: 洪伟1231   Email: hanyuan@foxmail.com,   Address: GuangzhoushiDianbian
    Hibernate: 
        select
            profile0_.id as id1_0_,
            user1_.id as id0_1_,
            profile0_.user_id as user2_1_0_,
            profile0_.email as email1_0_,
            profile0_.phone as phone1_0_,
            profile0_.mobile as mobile1_0_,
            profile0_.address as address1_0_,
            profile0_.postcode as postcode1_0_,
            user1_.username as username0_1_,
            user1_.password as password0_1_ 
        from
            users.profile profile0_ 
        left outer join
            users.user user1_ 
                on profile0_.user_id=user1_.id 
        order by
            profile0_.user_id
    ID:1   Username: hongten   Email: hongtenzone@foxmail.com,   Address: Guangzhoushi
    ID:2   Username: hanyuan   Email: hanyuan@foxmail.com,   Address: GuangzhoushiDianbian
    ID:3   Username: 洪伟1231   Email: hanyuan@foxmail.com,   Address: GuangzhoushiDianbian
    -------------------------------------
    Hibernate: 
        select
            user0_.id as id0_0_,
            profiles1_.id as id1_1_,
            user0_.username as username0_0_,
            user0_.password as password0_0_,
            profiles1_.user_id as user2_1_1_,
            profiles1_.email as email1_1_,
            profiles1_.phone as phone1_1_,
            profiles1_.mobile as mobile1_1_,
            profiles1_.address as address1_1_,
            profiles1_.postcode as postcode1_1_,
            profiles1_.user_id as user2_0__,
            profiles1_.id as id0__ 
        from
            users.user user0_ 
        left outer join
            users.profile profiles1_ 
                on user0_.id=profiles1_.user_id
    1hongten[com.b510.example.Profile@14eaec9]
    2hanyuan[com.b510.example.Profile@569c60]
    3Hongwei1231[com.b510.example.Profile@d67067]
    4mingliu[]
    5shouzhang[]
    Hibernate: 
        select
            user0_.id as id0_,
            user0_.username as username0_,
            user0_.password as password0_ 
        from
            users.user user0_ 
        right outer join
            users.profile profiles1_ 
                on user0_.id=profiles1_.user_id 
        order by
            user0_.id
    Hibernate: 
        select
            profiles0_.user_id as user2_1_,
            profiles0_.id as id1_,
            profiles0_.id as id1_0_,
            profiles0_.user_id as user2_1_0_,
            profiles0_.email as email1_0_,
            profiles0_.phone as phone1_0_,
            profiles0_.mobile as mobile1_0_,
            profiles0_.address as address1_0_,
            profiles0_.postcode as postcode1_0_ 
        from
            users.profile profiles0_ 
        where
            profiles0_.user_id=?
    1hongten[com.b510.example.Profile@10c0f66]
    Hibernate: 
        select
            profiles0_.user_id as user2_1_,
            profiles0_.id as id1_,
            profiles0_.id as id1_0_,
            profiles0_.user_id as user2_1_0_,
            profiles0_.email as email1_0_,
            profiles0_.phone as phone1_0_,
            profiles0_.mobile as mobile1_0_,
            profiles0_.address as address1_0_,
            profiles0_.postcode as postcode1_0_ 
        from
            users.profile profiles0_ 
        where
            profiles0_.user_id=?
    2hanyuan[com.b510.example.Profile@e265d0]
    Hibernate: 
        select
            profiles0_.user_id as user2_1_,
            profiles0_.id as id1_,
            profiles0_.id as id1_0_,
            profiles0_.user_id as user2_1_0_,
            profiles0_.email as email1_0_,
            profiles0_.phone as phone1_0_,
            profiles0_.mobile as mobile1_0_,
            profiles0_.address as address1_0_,
            profiles0_.postcode as postcode1_0_ 
        from
            users.profile profiles0_ 
        where
            profiles0_.user_id=?
    

     转的

  • 相关阅读:
    CLR Via
    HTML&XML
    SNS研究
    DotNet&C#
    电子商务
    WCF学习
    SQL
    构架设计
    JS&Ajax
    NHibernate之旅系列文章导航
  • 原文地址:https://www.cnblogs.com/wupeng88/p/4570954.html
Copyright © 2011-2022 走看看