Hibernate:寻找一种方法来简化我如何使用对象搜索对象

Hibernate:寻找一种方法来简化我如何使用对象搜索对象,hibernate,Hibernate,我正在使用Hibernate Core 3.3.4.GA。我正在寻找一种简化代码的方法(如果可能的话)。现在,我想使用MyObj的一个实例搜索类型为“MyObj”的对象,该实例将被部分填充。所以我 // inputObj is a partially populated object of type MyObj Criteria crit = session.createCriteria(MyObj.class); if (inputObj.getField1() != null) {

我正在使用Hibernate Core 3.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多个字段,所以代码很繁重。有没有办法简化上述内容

谢谢,-Dave

用于获取您描述的行为:

    List results = session.createCriteria(MyObj.class)
        .add( Example.create(inputObj) )
        .list();
这在参考文档的第1部分中进行了描述