休眠:寻找一种简化使用对象搜索对象的方法

问题描述

|| 我正在使用Hibernate Core3.3.4.GA。我正在寻找一种简化代码的方法(如果可能的话)。现在,我想使用MyObj的实例搜索\“ MyObj \”类型的对象,该实例将被部分填充。所以我有 …
// inputObj is a partially populated object of type MyObj
Criteria crit = session.createCriteria(MyObj.class);
if (inputObj.getField1() != null) { 
    crit.add( Restrictions.eq( \"field1\",inputObj.getField1() );
}
if (inputObj.getField2() != null) { 
    crit.add( Restrictions.eq( \"field2\",inputObj.getField2() );
}
…
List objects = crit.list();
问题是,有20多个字段,因此代码繁重。有没有一种方法可以简化上述过程? 谢谢-戴夫     

解决方法

        使用org.hibernate.criterion.Example获得您正在描述的行为:
    List results = session.createCriteria(MyObj.class)
        .add( Example.create(inputObj) )
        .list();
参考文档的15.4节对此进行了描述。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...