0

Persontable を参照するというエンティティがありますperson。この Person エンティティには、person テーブルのすべてのフィールドが含まれているわけではありません。

たとえば、Person エンティティには、person テーブルに存在する郵便番号と電子メールがありません。

クエリから、Person エンティティのリストを取得します。これらの Person エンティティの値に基づいて、別のクエリを生成する必要があります。しかし、他の Person エンティティ フィールドと共にzipcodeandを使用する必要があります。emailこれはまったく可能ですか?(私はそれが野生の考えであることを知っています)

エンティティ フィールドとフィールド (郵便番号と電子メール) をテーブルから一緒に参照することはできますか?

注: zipcode と email の 2 つのフィールドは、理由により Person エンティティでは省略されていますが、別のクエリで必要になります。

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 に答える