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