zoukankan      html  css  js  c++  java
  • Hibernate查询总结之对象导航查询

    Hibernate查询总结

      • OID—get
      • 对象属性导航查询
      • HQL
      • Criteria
      • 原生SQL

    –待补充–

    对象属性导航查询

    //对象导航查询代码
    @Test
        public void testSelectObject(){
            Session session = null;
            Transaction transaction = null;
            try {
                //1.使用SessionFactory创建Session对象
                //理解:类似于jdbc的连接数据库
                session = HibernateUtils.getSessionObject();
                //2.开启事务
                transaction = session.beginTransaction();
                //3.写具体的crud操作
                //查询cid=3的客户,在查询他的所有联系人
                //01.查询cid=3的客户
                Customer customer = session.get(Customer.class, 3);
                //02.再查询cid=3的客户的所有联系人
                //通过客户的联系人属性获取其所有的联系人
                Set<LinkMan> linkMans = customer.getSetLinkMan();
                for (LinkMan linkMan : linkMans) {
                    System.out.println(linkMan);
                }
                //4.提交事务
                transaction.commit();
            } catch (Exception e) {
                e.printStackTrace();
                //5.回滚事务
                transaction.rollback();
            } finally {
                //6.关闭资源     在使用了与本地线程绑定的session对象之后,就不需要手动关闭session了
                session.close();
            }
        }
    

    附:HibernateUtils

    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    
    public class HibernateUtils {
    	private static SessionFactory sf;
    	
    	static{
    		//1 创建,调用空参构造
    		Configuration conf = new Configuration().configure();
    		//2 根据配置信息,创建 SessionFactory对象
    		 sf = conf.buildSessionFactory();
    	}
    	
    	//获得session => 获得全新session
    	public static Session openSession(){
    				
    				Session session = sf.openSession();//3 获得session
    				return session;
    	}
    	
    	//获得session => 获得与线程绑定的session
    	public static Session getCurrentSession(){
    		
    		Session session = sf.getCurrentSession();//3 获得session
    		return session;
    	}
    	
    	
    }
    
    
  • 相关阅读:
    懒惰了
    android环境搭建问题总结(0基础)
    android初次配置运行环境
    android 模拟器黑屏
    MapReduce——求每年最高气温
    MapReduce——调用HDFS
    11.Mapreduce实例——MapReduce自定义输出格式小
    MapReduce——Docker服务安装
    10.Mapreduce实例——MapReduce自定义输入格式
    Docker镜像操作——Mysql安装
  • 原文地址:https://www.cnblogs.com/onefine/p/10499393.html
Copyright © 2011-2022 走看看