hibernate的session.createQuery()方法查不到数据的解决方法
在Hibernate配置文件中加入下面代码:
<property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
如果是Spring+Hibernate开发,则在定义Hibernate配置属性时候加入:
<property name="hibernateProperties">
<props>
<prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>
</props>
</property>
在Hibernate的配置文件 中,hibernate.query.factory_class属性用来选择查询翻译器。例如:
(1)选择Hibernate3.0的查询翻译 器:
hibernate.query.factory_class= org.hibernate.hql.ast.ASTQueryTranslatorFactory
(2)选择Hibernate2.1的查询翻 译器
hibernate.query.factory_class= org.hibernate.hql.classic.ClassicQueryTranslatorFactory
分享到:
相关推荐
Hibernate 是一个开源的对象关系映射 (ORM) 框架,它允许开发人员将 Java 应用程序中的对象映射到数据库表及其字段上,从而简化了数据访问层的开发工作。本节主要介绍 Hibernate3.x 的基本配置和启动流程。 ##### 1...
如果找不到对应的记录,将会抛出 `org.hibernate.ObjectNotFoundException` 异常。 - `load(Class<T> theClass, Serializable id)`:根据类类型和主键加载对象。 - `load(Class<T> theClass, Serializable id, ...
与`get`方法类似,但`load`方法会在找不到对应实体时抛出异常。 3. **全表查询** ```java Query query = session.createQuery("from Order"); List<Order> list = query.list(); ``` 此方法用于查询表中的...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发者使用面向对象的编程模型来操作数据库,从而简化了Java应用程序中的数据存取工作。在Java开发中,Hibernate 提供了一个强大而灵活的数据访问层,使得...
在IT领域,Hibernate是一个非常重要的Java持久化框架,它简化了数据库操作,使得开发者能够更加专注于业务逻辑,而不是繁琐的数据存取。本话题主要聚焦于`Hibernate02`,涵盖`Session`对象、HQL(Hibernate Query ...
插入数据的方法是通过调用`session.save()`实现的。在给出的示例中,`insert`方法接受一个对象`o`作为参数,首先获取当前的Session实例,然后开始一个新的事务。接着,使用`session.save(o)`将对象保存到数据库中,...
通过这个简单的例子,你可以了解到Hibernate如何帮助我们便捷地与人大金仓数据库进行交互,以及如何进行基本的数据操作。在实际项目中,可以根据需求进一步优化和扩展,例如使用事务管理、缓存机制等,提高应用的...
Detached Criteria可以在不与数据库交互的情况下构建查询条件,之后再绑定到某个会话执行。这在处理复杂查询时很有用。 4. **Query and Criteria的参数化** 两者都支持参数化查询,防止SQL注入。例如,根据用户名...
总结,Hibernate提供多种方式查询数据表中的字段,包括HQL、Criteria API和DetachedCriteria,选择合适的方法取决于具体需求。正确理解和使用Hibernate,能够大大提高Java开发中的数据库操作效率。
在Hibernate中,新增数据通常通过Session的save()或saveOrUpdate()方法实现。当你创建一个新的Java对象并设置好属性后,调用这些方法会将其保存到对应的数据库表中。例如,假设有一个User对象,我们可以通过以下...
这里的关键点在于使用`createQuery`方法创建了一个HQL查询对象,并通过`setString`方法设置参数值,最后通过`list`方法执行查询并获取结果列表。 #### 三、分页查询 分页查询在处理大量数据时非常有用,可以有效地...
除了以上方法,Hibernate 还提供了 Criteria API 和 Native SQL 查询等其他方式来实现数据操作。Criteria API 提供了一种面向对象的方式来构建查询,而 Native SQL 允许直接执行 SQL 语句,适应各种数据库特有的特性...
2. **查询(Read)**:使用`Session`的`get()`或`load()`方法获取对象,或者使用`createQuery()`或`createSQLQuery()`方法执行HQL(Hibernate Query Language)或SQL查询。 ```java Student student = session.get...
根据提供的标题、描述以及部分代码内容,我们可以了解到这段材料主要涉及的是Hibernate框架中的HQL(Hibernate Query Language)查询语言的使用。接下来将详细介绍HQL的相关知识点。 ### HQL概述 HQL是Hibernate...
- 查询:`Session.get()`, `Session.load()`, `Session.createQuery()`, `Session.createSQLQuery()`等方法用于获取数据。 6. **事务处理** - 数据库操作通常涉及事务,Hibernate提供了`Transaction`对象来管理...
在大型应用中,可能会涉及到大量数据的处理,Hibernate提供了批处理和异步操作的支持,如批处理更新、多线程并行操作等,以优化性能。 8. 高级特性 Hibernate还支持一对多、多对一、一对一、多对多的关系映射,懒...
- **解决方法:** 即使表没有显式的主键,也可以通过其他标识字段(如自定义ID生成策略)或自然主键(如复合主键)等方式来映射到Hibernate实体。例如,使用`@IdClass`注解来定义复合主键: ```java @Entity @...