0

在 CakePHP 中,我可以通过关联数组中的WHEREand条件来查询数据库,如下例所示:ORDER

$cities= $this->City->find('all', 
    array('conditions' => array('state_id' => $stateId), 
    'order'  => 'City.name')
);

现在我开始使用 Java Hibernate 并想知道是否有类似的东西,可能使用 HashMap 或其他集合。

我在文档中没有找到类似的东西。

4

2 回答 2

0

我所知道的最接近的是Hibernate Criteria API。但是,由于 Java 的性质,使用起来有点麻烦。

于 2013-04-16T19:09:48.053 回答
0

您可以使用Map.

例如给定这个查询:

final Query query = session.createQuery("from MyThing mt where mt.something = :value1 and mt.somethingElse > :value2");

您可以传递参数value1value2使用setProperties方法:

final Map<String, Object> properties = new HashMap<>();
properties.put("value1", 10);
properties.put("value2", 25);

query.setProperties(properties);

中的值Map将由键绑定。

您也可以将 javaObject其他setProperties方法一起使用。这里value1将绑定到getValue1()在传入的 bean 上调用的结果。

于 2013-04-16T19:19:12.947 回答