0

我有一个名为的实体Person,它指的是 table person。此 Person 实体没有 person 表中的所有字段。

例如,Person 实体没有邮政编码和电子邮件,它们存在于 person 表中。

现在从查询中,我得到一个 Person 实体列表。我需要根据这些 Person 实体的值生成另一个查询。但我需要zipcodeemail其他 Person 实体字段一起使用。这可能吗?(我知道这是一个疯狂的想法)

是否可以同时引用表中的实体字段和字段(邮政编码和电子邮件)?

注意:出于某种原因,Person 实体中省略了两个字段 zipcode 和 email,但在不同的查询中需要它们。

4

1 回答 1

0

是的,这是可能的。您可以使用 EntityManager createNativeQuery:

EntityManager em = // obtain em somehow..
String sql = "select id, name from person where zipcode = '10000' and email = 'bob@email.com";
List<Person> persons = em.createNativeQuery(sql, Person.class).getResultList();

请注意,只能选择映射到实体类的字段。在大多数情况下,这首先违背了使用 JPA/Hibernate 的目的。

于 2013-07-07T03:13:39.757 回答