`
newleague
  • 浏览: 1504667 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

hibernate模糊查询-Restrictions.ilike & Expression.like

阅读更多

 Criteria criteria = session.createCriteria(TaDiagnoseSystem.class);
   //增加查询条件
   if(StringUtils.isNotEmpty(systemName)){
//    criteria.createCriteria("taDiagnoseSystemSubs").add(Restrictions.ilike("systemName", systemName, MatchMode.ANYWHERE));
    criteria.createCriteria("taDiagnoseSystemSubs").add(Expression.like("systemName", "%"+systemName+"%"));
   }

 

 

今天的项目中在用Hibernate3.0进行模糊查询的时候,出现中文乱码,在网上查了好久资料,终于解决了,现在把整理后的贴出来。
Hibernate中实现模糊查询,可有以下三种方式:

第一种方式:QBC查询
String name = "", info = "";
if (sub != null && sub.getSubname() != null) {
name = sub.getSubname();
}
if (sub != null && sub.getSubinfo() != null) {
info = sub.getSubinfo();
}
Criteria cr = session.createCriteria(Subject.class);
cr.add(Expression.like("subname","%"+name+"%"));
cr.add(Expression.like("subinfo","%"+info+"%"));

第二种方式:HQL查询语句
String hql = "from Subject as s where s.subname like :name and s.subinfo like :info";
// 调用session的获得数据列表方法,传递HQL查询语句
String  subnamevalue="要查询的中文值";
String   sql="";
sql   = "from Pfapp  where name like :subname ";

Query query = session.createQuery(sql); 
query.setString("subname","%"+subnamevalue+"%");
System.out.println("*********"+sql);

注:Subject为数据库表subject映射的类;它有相应的属性subname、subinfo及相应的get和set方法;sub为Subject的一个实例化对象。
另外说明的是:如果你不写对象名称,直接写字段,那么hibernate就按照数据库字段进行查找
如果你写   (对象名.对象属性),那么hibernate就按照ormapping中的映射字段进行查找
分享到:
评论
1 楼 馋朵朵 2011-09-27  
Criteria 

相关推荐

    net55-r8168-8.045a-napi.x86_64.rar

    2018-04-16: Version 8.045a: Changed package metadata to include proper dependencies and restrictions 2018-02-08: Version 8.045: Support for more NIC models and VLAN tags 2015-01-16: Version 8.039.01...

    hibernate-shards.jar

    To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain ...

    hibernate5--1.入门及核心API

    Hibernate Query Language (HQL) 和 Java Persistence Query Language (JPQL) 是面向对象的查询语言,类似于SQL,但操作的是对象而不是表格: ```java String hql = "FROM User WHERE name = :name"; Query query =...

    DBI-1.607.tar.gz

    在Postfix中使用DBI,首先需要确保Postfix支持数据库操作,这通常通过在Postfix配置中启用`smtpd_recipient_restrictions`或其他相关的限制条件来实现,并配置相应的数据库查询。例如,你可以使用MySQL或SQLite作为...

    php-7.3.6.tar.gz

    Fixed bug #77967 (Bypassing open_basedir restrictions via file uris). Standard: Fixed bug #77931 (Warning for array_map mentions wrong type). Fixed bug #78003 (strip_tags output change since ...

    net-e1000e-3.1.0.2-glr2.x86_64.rar

    Dependencies and Restrictions Replaces/Updates: VMware built-in net-e1000e driver Depends On: vmkapi_2_0_0_0, com.vmware.driverAPI-9.2.0.0 Package Properties Requires MaintMode Live Install ...

    postfix-2.8.2.tar.gz

    - `smtpd_recipient_restrictions`:定义了邮件接收的策略,可以包含反垃圾邮件的检查。 Postfix还支持虚拟邮箱和域,允许在一台服务器上托管多个域名的邮件服务。通过配置`virtual_maps`和`virtual_domains`,可以...

    postfix-2.6.5.tar.gz

    4. smtpd_recipient_restrictions:控制谁可以发送邮件给本地用户,通常会包含一些安全策略,如限制未验证的用户等。 5. smtpd_sasl_auth_enable:开启SMTP SASL认证,提供更安全的身份验证。 6. smtpd_tls_security...

    spring-boot-reference.pdf

    SpEL Expression Conditions 46.4. Testing your Auto-configuration 46.4.1. Simulating a Web Context 46.4.2. Overriding the Classpath 46.5. Creating Your Own Starter 46.5.1. Naming 46.5.2. autoconfigure...

    net-tulip-1.1.15-1.x86_64.rar

    Dependencies and Restrictions Depends On: vmkapi_2_1_0_0, com.vmware.driverAPI-9.2.1.0 Compatible With: ESXi 5.0, ESXi 5.1, ESXi 5.5, ESXi 6.0, ESXi 6.5 Does NOT work With: ESXi 6.7 and newer ...

    mysql_refman-5.6-en.a4.pdf

    - **Restrictions and Limitations**:限制与局限性,列出了MySQL当前存在的限制和已知的问题。 - **Performance Schema**:性能模式,提供了有关MySQL内部操作的实时性能数据。 - **Semisynchronous Replication...

    pima-indians-diabetes.csv

    用于神经网络,深度学习方面的数据集。原网址因为The dataset is no longer available due to permission restrictions.

    Hibernate-Criteria 模糊查询

    这里的`Restrictions.like`方法等价于`Expression`中的`like`表达式,它允许你在查询中使用通配符,如“%”表示任意数量的字符,“_”表示单个字符。这样,任何名字以“Erica”开头的用户都将被查询出来。 #### ...

    Hibernate Criteria用法大全.docx

    Hibernate Criteria API 是一种面向对象的查询方式,它提供了一种比HQL(Hibernate Query Language)更为简洁且直观的查询手段。通过Criteria API,开发者可以构建复杂的查询条件,无需直接编写SQL,使得代码更加...

    clamav-0.91.2.tar.gz

    通常,这涉及到修改Postfix的配置文件,比如在`smtpd_recipient_restrictions`中添加`check_policy_service`来调用ClamAV的SMTP插件。 在Postfix中配置ClamAV通常涉及以下步骤: 1. 安装ClamAV的SMTP服务插件,...

    postfix-2.9-20110130.tar.gz

    - `smtpd_recipient_restrictions`: 控制谁可以接收邮件的策略。 4. **启动与管理** - 启动Postfix服务:`systemctl start postfix`(或`service postfix start`,取决于Linux发行版)。 - 检查Postfix状态:`...

    hibernate 模糊查询 分页

    本篇文章将深入探讨如何使用Hibernate实现模糊查询和分页功能,这对于任何需要处理大量数据的应用程序来说都是至关重要的技能。 首先,让我们了解Hibernate的核心概念。Hibernate是一个开源的JPA(Java Persistence...

    sap-software-use-rights-englishchinese---simplified-v11-2018.pdf

    文档还可能提到对于特定业务模块或解决方案包的使用限制,如“Exhibit3-Package Restrictions”。这些限制明确指出了用户在使用某个特定软件包时不能进行哪些操作,例如限制将软件用于生产环境之外的目的。 除了...

    NHibernate HQL 条件查询

    在探讨NHibernate HQL条件查询时,我们首先要理解NHibernate框架以及HQL(Hibernate Query Language)的基本概念。NHibernate是一个开放源代码的对象关系映射(ORM)解决方案,它为.NET平台提供了一种将对象模型与...

Global site tag (gtag.js) - Google Analytics