Hibernate的查询方式

1、OID查询

hibernate根据对象的OID(主键)进行检索

  使用get方法

Customer customer=session.get(Customer.class,1l);

  使用load方法

Customer customer=session.load(Customer.class,1l);

2、对象导航检索

hibernate根据一个已经查询到的对象,获得其关联的对象的一种查询方式

LinkMan linkMan=Session.get(LinkMan.class,1l);
Customer customer=linkMan.getCustomer();

3、HQL检索

Hibernate Query Language 的查询语言,是一种面向对象的方式的查询语言,语法类似于SQL。通过session.createQuery()用于接收一个HQL进行查询

HQL的简单查询

	/*
* HQL简单查询
* */
public void demo2() {
Session session=HibernateUtils.openSession();
Transaction transaction=session.beginTransaction();
Query query=session.createQuery("from Customer");
List<Customer> list=query.list();
for(Customer customer:list)
System.out.println(customer.toString());
transaction.commit();
}

HQL的别名查询

	/*
* HQL简单查询
* */
public void demo2() {
Session session=HibernateUtils.openSession();
Transaction transaction=session.beginTransaction();
Query query=session.createQuery("from Customer c");
List<Customer> list=query.list();
for(Customer customer:list)
System.out.println(customer.toString());
transaction.commit();
}

HQL的投影查询

查询对象的某个或某些属性

	public void demo6() {
Session session=HibernateUtils.openSession();
Transaction transaction=session.beginTransaction();
List<Object> list=session.createQuery("select c.cust_name from Customer c").list();
for(Object object:list)
System.out.println(object);
transaction.commit();
}

 

Hibernate查询方式&抓取策略的更多相关文章

  1. Hibernate中的多表查询及抓取策略

    1.Hibernate中的多表查询 1.1SQL中的多表查询 [交叉连接] select * from A,B; [内连接] 显示内连接:inner join(inner 可以省略) Select * ...

  2. hibernate detached分离查询 与 抓取策略注意事项

    1.detached在抓取策略为 jion显式左外连接查询情况下 会产生笛卡儿积现象 DetachedCriteria dc = DetachedCriteria.forClass(Topic.cla ...

  3. 【Hibernate学习】 —— 抓取策略(注解方式)

    当应用程序须要在关联关系间进行导航的时候.hibernate怎样获取关联对象的策略. 抓取策略的方式: FetchType.LAZY:懒载入.载入一个实体时.定义懒载入的属性不会立即从数据库中载入. ...

  4. Hibernate(十四)抓取策略

    抓取策略: 抓取策略是当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候,Hibernate如何获取关联对象的策略.Hibernate的抓取策略是Hibernate提升性能的一 ...

  5. hibernate 延迟加载和抓取策略

    一.延迟加载 1.简单查询get,load 针对对象本身延迟或即时 当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当我们使用session.load ...

  6. 【转】hibernate延迟加载和抓取策略

    一.延迟加载 1.简单查询get,load 针对对象本身延迟或即时 当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当我们使用session.load ...

  7. Hibernate学习---第十一节:Hibernate之数据抓取策略&批量抓取

    1.hibernate 也可以通过标准的 SQL 进行查询 (1).将SQL查询写在 java 代码中 /** * 查询所有 */ @Test public void testQuery(){ // ...

  8. hibernate抓取策略

    抓取策略(fetching strategy) 是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略.抓取策略可以在O/R映射的 ...

  9. 【转】Hibernate 原汁原味的四种抓取策略

    最近在研究 Hibernate 的性能优化的时候碰到了"抓取策略", 由于以前没有详细的研究过, 所以到处找资料, 但是无论从一些讲 Hibernate 书籍,还是他人 Blog ...

随机推荐

  1. CentOS 7如何开放其它的端口,比如8080

    CentOS 7如何开放其它的端口,比如8080 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop ...

  2. MyBatis 插入主键方式和返回主键

    这使用的mysql数据库,下面这种方式(没有给mysql设置自动增长)是插入主键方式: <insert id="insertBook" parameterType=" ...

  3. CodeForces 688A Opponents (水题)

    题意:给定 n 行数,让你找出连续最多的全是1的个数. 析:好像也没什么可说的,那就判断一下,并不断更新最大值呗. 代码如下: #include <iostream> #include & ...

  4. (DP)uva 10036 Problem C: Divisibility

    链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88171#problem/F 代码: #include <cstdio> ...

  5. Android-自定义TabHost

    效果图: 布局代码相关: <!-- 自定义简单的TabHost选项卡 --> <LinearLayout xmlns:android="http://schemas.and ...

  6. Hibernate4获取Connection,ResultSet对象

    项目中需要一个json对象,封装的时候,需要数据的列名. 在jdbc里面,可以有个ResultMetaData对象获取列名字.因为我用的是hibernate,这个框架已经封装了很多,一般是难以获得re ...

  7. Postgresql 日志审计

    配置log_destination = 'csvlog'logging_collector = off log_directory = 'pg_log'log_connections = onlog_ ...

  8. MVP社区巡讲 12月5日北京站| 12月12日上海站

    2015年底的社区巡讲Powered MVP Roadshow正式启动啦!12月5日周六下午北京场,12月12日周六下午上海场. 欢迎各位邀请您的同事朋友来参加MVP的社区活动,也邀请您发送活动信息( ...

  9. winform app.cpnfig 文件的引用

    1.app.config配置文件修改 <?xml version="1.0" encoding="utf-8"?> <configuratio ...

  10. 知识记录——Session与Cookie

    Session: Session是“会话”的意思,然而,因为http协议是无状态的,那么每次客户端请求服务器端,服务器端都会以“崭新”的页面展示给客户端,这在静态的html页面中是不会存在任何影响,但 ...