我有一个具有id(自动生成),person_id,airport_id,名称,位置,状态的域对象。 person_id和airport_id组合可以唯一地标识一行。
有没有办法填写这两个属性并通过hibernate发送域对象,以便其他字段将由hibernate自动填充。另一种实现此目的的方法是通过命名查询,但这是我的最后一个选择。
请帮忙。
答案 0 :(得分:1)
如果您使用HibernateTemplate,则可以使用方法findByExample(Object)。
其中,传递给findByExample
方法的参数将是criteria object
- 因此,在您的情况下,entity
设置personId
和airportId
。 findByExample(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