تحديد الأعمدة في JPQL SELECT يسبب خطأ في الصب

StackOverflow https://stackoverflow.com/questions/4235573

  •  26-09-2019
  •  | 
  •  

سؤال

عندما أحدد أعمدة في استعلام JPQL/JPA 2.0 ، أي select p.id, p.lastName, p.firstName from Profile p where p.group = :group أحصل على الخطأ التالية: [Ljava.lang.Object; cannot be cast to com.profs.ws.Profile... أي شخص يعرف كيف يحل قضية الصب هذه؟

ال Profile يحتوي فئة الكيان نفسها على خصائص الأنواع التالية: String, int, and Collection. الخصائص التي أختارها في الاستعلام هي إما من النوع String أو int.

هل كانت مفيدة؟

المحلول

عندما تحدد خصائص كائن ما ، تقوم JPA بإرجاع قائمة من Object[]. يمكنك إلقاء قيمة الإرجاع إلى List<Object[] بدلاً من List<Profile> لتجنب ClassCastException. إذا كنت تستخدم Hibernate كمزود JPA ، فيمكنك تعيين جملة SELECT إلى كائن جديد. يرى حدد جملة الوثائق للحصول على التفاصيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top