使用域对象获取数据

时间:2013-04-16 02:57:38

标签: java hibernate

我有一个具有id(自动生成),person_id,airport_id,名称,位置,状态的域对象。 person_id和airport_id组合可以唯一地标识一行。

有没有办法填写这两个属性并通过hibernate发送域对象,以便其他字段将由hibernate自动填充。另一种实现此目的的方法是通过命名查询,但这是我的最后一个选择。

请帮忙。

1 个答案:

答案 0 :(得分:1)

如果您使用HibernateTemplate,则可以使用方法findByExample(Object)

其中,传递给findByExample方法的参数将是criteria object - 因此,在您的情况下,entity设置personIdairportIdfindByExample(entity)的结果是List,其中包含填充了其他数据的所有匹配实体。

如果您使用普通休眠,则可以使用Criteria实现此目的。

Criteria c = session.createCriteria(YourEntity.class);
c.add(Restrictions.eq("personId", p_id_value));
c.add(Restrictions.eq("airportId", a_id_value)); 
c.list(); //This should again return a list containing all the matching entities with the values filled