ここでアドバイスを求めています。やらない理由があれば知りたいです。誰もが知っているように、何かができるからといって、そうすべきだというわけではありません。
私が取り組んでいるアプリケーションは、既存のテーブルで JPA を使用しています。可能であればエンティティを使用していますが、既存の SQL の多くではネイティブ クエリを使用しています。これらのクエリの多くでは、エンティティが返されないため、ネイティブ クエリが使用されます。だから、これをしない理由があるかどうか疑問に思っていました:
ResultSet rs = (ResultSet) em.createNativeQuery('NativeQueryString').getResultList();
while (rs.next()) {
person.setName(rs.getString('name'));
person.setHeight(rs.getString('height'));
}
現在行っていることは次のとおりです。
List results = em.createNativeQuery('NativeQueryString').getResultList();
for(Object result : results) {
Object [] items = (Object[]) result;
person.setName(items[0].toString);
person.setHeight(items[1].toString);
}
または、JPA でネイティブ クエリを処理するより良い方法はありますか?