`

createSQLQuery 与 createQuery 的区别

    博客分类:
  • Java
 
阅读更多

hibernate 中createQuery与createSQLQuery两者区别是:
前者用的hql语句进行查询,后者可以用sql语句查询
前者以hibernate生成的Bean为对象装入list返回
后者则是以对象数组进行存储
所以使用createSQLQuery有时候也想以hibernate生成的Bean为对象装入list返回,就不是很方便


createSQLQuery有这样一个方法可以直接转换对象:
Query query = session.createSQLQuery(sql).addEntity(XXXXXXX.class);
XXXXXXX 代表以hibernate生成的Bean的对象,也就是数据表映射出的Bean。

分享到:
评论

相关推荐

    关于hibernate 的createQuery和createSqlQuery 的区别

    与 createQuery 方法不同的是,createSqlQuery 方法可以执行查询、修改和添加操作。 使用 createSqlQuery 方法可以执行以下操作: 1. 查询操作:使用 createSqlQuery 方法可以执行查询操作,例如: String sql = ...

    hibernate 的createSQLQuery的几种用法

    这个查询加载了关联的 kitten 实体,并将其与 cat 实体关联起来。 四、返回标量值 使用 createSQLQuery 方法可以返回一个简单的标量值,例如: ```java Double max = (Double) sess.createSQLQuery("select max...

    ceateQuery ceateSQLQuery

    此外,还有一个关于`createQuery`的迭代器方法`iterator()`与`list()`的区别。`list()`方法会一次性从数据库中读取所有匹配的记录,并填充到一个List中,适合于数据量较小的情况。而`iterator()`方法则只获取记录的...

    Hibernate查询解决方案

    Session 对象与查询操作 在 Hibernate 中,所有持久化操作都需要通过 Session 对象来完成,包括查询操作。Session 对象提供了多种查询方法,如 `load`、`get`、`createQuery` 和 `find` 等。 - **`load` 方法**:...

    Hibernate_NSQL&HQL增删改操作

    #### HQL与NSQL的区别 1. **语法风格**:HQL更加面向对象,语法结构与Java类及其属性紧密相关;而NSQL则遵循标准SQL语法。 2. **类型安全**:HQL支持类型安全的参数绑定,而NSQL则需要显式指定参数类型。 3. **可...

    Hibernate分页总结

    使用`createQuery()`或`createSQLQuery()`创建Query对象后,可以调用`setFirstResult()`设置起始索引,`setMaxResults()`设置每页的最大数量来实现分页。例如: ```java Session session = sessionFactory....

    Query对象setResultTransFormer()

    Query 对象可以通过 Session 对象的 createSQLQuery() 或 createQuery() 方法创建,例如: ```java Session session = sf.openSession(); Query query = session.createSQLQuery("select * from Tree t where pid in...

    SSH实现分页

    在Hibernate中,可以通过Session接口的createQuery或createSQLQuery方法结合setParameter来实现分页。具体步骤如下: - 使用createQuery或createSQLQuery创建查询。 - 调用setFirstResult设置起始位置。 - 调用...

    Hibernate_Query查询所有数据

    SQLQuery sqlQuery = session.createSQLQuery("SELECT * FROM your_table_name"); sqlQuery.addEntity(YourEntityName.class); List<YourEntityName> allData = sqlQuery.list(); transaction.commit(); ...

    Hibernate查询语言.doc

    Hibernate也允许使用原生SQL查询,通过`createSQLQuery()`方法创建`SQLQuery`对象,然后可以使用`addEntity()`或`setResultTransformer()`将结果转换为对象。 总的来说,Hibernate的查询语言提供了一套灵活且强大...

    4.Hibernate-04查询以及优化策略1

    在上面的代码中,我们使用 `createQuery` 方法创建了一个 HQL 查询对象,该对象将根据 `Order` 对象的属性来查询数据库中的数据。 1.2 基于 SQL 的 HQL 查询 基于 SQL 的 HQL 查询是 Hibernate 提供的一种查询方式...

    HQL经典语句

    Query query = session.createSQLQuery("SELECT {c.*} FROM customers c WHERE c.name LIKE :customerName AND c.age = :customerAge"); query.setString("customerName", "tom"); query.setInteger("customerAge...

    Hibernate实现记录的增、删、改和查功能

    - **大小写敏感**:HQL 中的对象名和属性名是大小写敏感的,与 SQL 的大小写不敏感不同。 - **from 子句**:from 子句用于指定要查询的实体,可以加上别名,如 `from Cat as cat`。 1.1 **简单查询**: ```java ...

    hibernate查询详细代码讲解

    在Hibernate中,我们可以通过Session对象的createQuery或createSQLQuery方法来执行HQL。例如: ```java Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); ...

    Java开发工程师招聘面试题

    12. Hibernate的`createQuery`与`createSQLQuery`: - `createQuery`用于执行HQL(Hibernate Query Language),它是面向对象的查询语言。 - `createSQLQuery`用于执行原生的SQL查询,提供更多底层数据库操作的...

    Hibernate查询语言

    首先,我们要理解HQL与SQL的区别。SQL是结构化查询语言,直接针对关系数据库进行操作,而HQL则是将这些操作转化为面向对象的形式。这使得在ORM(对象关系映射)框架如Hibernate中,开发者可以更自然地进行数据库操作...

    java-Hibernate 检索

    3. 通过 session.createQuery(hql) 创建 Query 对象 4. 为 Query 对象设置条件参数 5. 执行查询 list() ---- 返回一个集合列表 、 uniqueResult();--- 返回一个查询结果 Query 接口支持方法链编程风格,将上面所有...

    hibernate查询语言--HQL

    HQL(Hibernate Query Language)是Hibernate框架提供的一种面向对象的查询语言,它是对SQL的封装,使得开发者可以使用面向对象的方式来处理数据库查询,避免了直接操作SQL带来的复杂性和对象与关系之间的转换问题。...

    hibernate语句大全

    Query query = session.createSQLQuery("SELECT * FROM customers WHERE name LIKE :name AND age = :age"); query.setParameter("name", "Tom%"); query.setParameter("age", 21); List[]> results = query....

Global site tag (gtag.js) - Google Analytics