`
yesjavame
  • 浏览: 685350 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

hibernate中Expression.eq(String propertyName, Object value)的使用注意点

阅读更多
最近在工作中尝试使用Criteria来代替hql的功能,为什么呢?因为觉得到处使用hql,尤其是比较复杂的查询,就有种使用jdbc的感觉.
在使用Expression.eq(String propertyName, Object value)方法的时候,出现了一个java.lang.ClassCastException: java.lang.String异常,很郁闷,看不出来是什么地方出了问题?后来,不知怎么就找到了这个错误原因
原来是eq方法的第二个参数类型应该使用与PO对象中此字段相同的类型,虽然在这里这个方法是Object类型.
示例代码(错误使用方式):
crit.add(Expression.eq("listId", String.valueOf(listId)));
代码代码(正确使用方式):
crit.add(Expression.eq("listId", listId));
主键值listId是Long类型,参数value的类型只能是Long,不可以是String类型
分享到:
评论

相关推荐

    hibernate结构化查询

    1. `Expression.eq(String propertyName, Object value)`:这个方法用于创建等于(=)条件,例如`"field = value"`。例如:`Expression.eq("id", "001")`,它等价于SQL中的`WHERE ID = '001'`。 2. `Expression....

    spring如何摒弃hibernate.cfg.xml

    在现代的Spring应用程序中,整合Hibernate时,我们通常会选择使用Spring的IoC(Inversion of Control)容器来管理数据访问层,而不是直接依赖于Hibernate的配置文件`hibernate.cfg.xml`。这是因为Spring提供了更高级...

    Hibernate的........htm.xml和hibernatecfg.xml配置

    理解并正确配置Hibernate的`.hbm.xml`和`hibernate.cfg.xml`文件是使用Hibernate的关键步骤。`.hbm.xml`文件负责对象-关系的映射,`hibernate.cfg.xml`文件则包含了整个应用程序的数据库连接和其他配置。通过阅读...

    ssh整合,不带hibernate.cfg.xml的方式

    在这里,我们使用了Spring的PropertyPlaceholderConfigurer来解析`hibernate.properties`中的属性,并注入到`LocalSessionFactoryBean`的配置中。`mappingResources`属性则用来指定Hibernate的映射文件,这些文件...

    hibernate.cfg.xml

    hibernate.cfg.xml hibernate框架的配置文件

    J2EE Hibernate-4.ppt

    - 例如,`criteria.add(Expression.eq("propertyName", value))`会生成对应的SQL `WHERE propertyName = value`。 2. **Expression对象**: - `Expression.eq`: 生成等于(`=`)的条件,如`Expression.eq("name", ...

    hibernate.cfg.xml文件详细解释

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> ``` **说明**:方言配置用于告诉 Hibernate 使用哪种数据库特定的 SQL 语法。例如,对于 MySQL 数据库,通常会使用 `org....

    hibernate4.0使用二级缓存jar包

    <property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property> 3.3配置如下: <property name="hibernate.cache.use_second_level_cache">true</property>...

    hibernate.cfg.xml 配置 和数据库驱动

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.show_sql">true</property> ``` 3. **SessionFactory配置**:SessionFactory是Hibernate的核心...

    hibernate配置文件hibernate.cfg.xml的详细解释

    - **URL**: `<property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate</property>` 设置了连接数据库的URL,其中`localhost`表示MySQL服务器地址,`hibernate`为数据库名。 - **Username**: `...

    JavaEE spring和Hibernate整合(没有hibernate.cfg.xml)

    在这个场景中,我们将探讨如何在不使用`hibernate.cfg.xml`配置文件的情况下整合Spring和Hibernate。 通常,Hibernate通过`hibernate.cfg.xml`文件来配置数据库连接、实体类映射等信息。但在Spring中,我们可以利用...

    Hibernate.cfg.xml配置总结

    <property name="hibernate.c3p0.idle_test_period">3000</property> <property name="hibernate.c3p0.acquireIncrement">3</property> <property name="hibernate.c3p0.max_statements">50</property> <property ...

    hibernate.hbm.xml详解

    在Java的持久化框架Hibernate中,`hibernate.hbm.xml`文件是至关重要的,它定义了Java对象与数据库表之间的映射关系,使得对象模型能够与关系型数据库无缝对接。这篇文章将深入解析`hibernate.hbm.xml`的结构和主要...

    hibernate_criterion.rar

    例如,我们可以使用`Expression.eq("propertyName", value)`来创建一个等于某个值的条件,或者使用`Expression.between("propertyName", start, end)`来创建一个属性值在指定范围内的条件。 接下来,我们将探讨...

    Hibernate Criteria 完全使用

    - `Expression`:用于构建查询条件,如 ` Restrictions.eq("propertyName", value)` 表示“属性等于值”。 ### 2. 添加查询条件 Criteria API 支持多种条件表达式,例如: - `eq(String propertyName, Object ...

    使用dom4j生成和读取hibernate.cfg.xml

    sessionFactory.addElement("property").addAttribute("name", "hibernate.dialect").setText("org.hibernate.dialect.MySQL5Dialect"); // 添加其他属性和子元素... ``` 2. **读取hibernate.cfg.xml** 读取XML...

    Hibernate连接SQLite配置说明和方言代码

    2.2、打开此文件,将“<property name="hibernate.connection.url">jdbc:sqlite:D:/EGSDatabase.egsdata</property>”一行中的数据库文件("D:/EGSDatabase.egsdata")修改为合适的数据库文件。 注:附件包含了...

    Jdom生成hibernate.cfg.xml和读取其中内容

    标题中的“Jdom生成hibernate.cfg.xml和读取其中内容”涉及到两个主要知识点:一是JDOM库在Java中解析和生成XML文档的应用,二是利用JDOM操作Hibernate配置文件`hibernate.cfg.xml`。 首先,JDOM是Java Document ...

Global site tag (gtag.js) - Google Analytics