java - 使用域对象来获取数据

标签 java hibernate

我有一个域对象,其中包含 id(自动生成)、person_id、airport_id、姓名、职位、状态。 person_id 和 airport_id 组合可以唯一标识一行。

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

请帮忙。

最佳答案

如果您使用 HibernateTemplate ,您可以利用该方法 findByExample(Object) .

其中,参数传递给findByExample方法将是 criteria object - 因此,就您而言,entitypersonIdairportId放。 findByExample(entity)的结果,是 List包含所有已填充其他数据的匹配实体。

如果您使用普通 hibernate ,则可以使用 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

关于java - 使用域对象来获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16028042/

相关文章:

java - 推土机映射 JodaTime 属性未按预期工作

java - 更新不同类别的 LAF

java - 缓冲读取器线程安全吗?

java - 对父类(super class)属性的 Hibernate 查询

java - 为 JPA/Hibernate 提供您自己的提供程序类

java - 接口(interface)的静态字段和最终字段的含义

Java swing 异常处理程序

java - Hibernate ORA-02292 : integrity constraint (ROOT. SYS_C007062) 违反 - 找到子记录

java - 是否可以使用 Hibernate 将一个 Java 对象映射到具有 FK 关系的多个表?

oracle - Java 和 Oracle 时间戳(带时区)