/*** 根据id查询用户* 使用find方法查询:* 1.查询的对象就是当前客户对象本身* 2.在调用find方法的时候,就会发送sql语句查询数据库** 立即加载*/@Testpublic void testFind(){//1.通过工具类获取entityManagerEntityManager entityManager = JpaUtils.getEntityManager();//2.开启事务EntityTransaction transaction = entityManager.getTransaction();transaction.begin();//3.增删改查 -- 根据id查询用户/*** find:根据id查询数据* class:查询数据的结果需要包装的实体类类型的字节码* id:查询的主键的取值*/Customer customer = entityManager.find(Customer.class, 1l);System.out.println(customer);//4.提交事务transaction.commit();//5.释放资源entityManager.close();}
/*** 根据id查询客户* getReference方法* 1.获取的对象是一个动态代理对象* 2.调用getReference方法不会立即发送sql语句查询数据库* * 当调用查询结果对象的时候,才会发送查询的sql语句:什么时候用,什么时候发送sql语句查询数据库* 延迟加载(懒加载 )* * 得到的是一个动态代理对象* * 什么时候用,什么时候才会查询*/@Testpublic void testReference(){//1.通过工具类获取entityManagerEntityManager entityManager = JpaUtils.getEntityManager();//2.开启事务EntityTransaction transaction = entityManager.getTransaction();transaction.begin();//3.增删改查 -- 根据id查询用户/*** getReference:根据id查询数据* class:查询数据的结果需要包装的实体类类型的字节码* id:查询的主键的取值*/Customer customer = entityManager.getReference(Customer.class, 1l);System.out.println(customer);//4.提交事务transaction.commit();//5.释放资源entityManager.close();}
