كيفية اكتشاف المعرف الذي تم إنشاؤه تلقائيًا لكائن جديد عند استخدام JPA؟
-
30-09-2019 - |
سؤال
لديّ سمة تم شرحها باستخدام ID. سيتم إنشاء المعرف تلقائيًا عند استمرار الكائن. هذا يعني أن قيمة الهوية لم يتم تعريفها قبل أن أستمر في الكائن. بعد استمراره ، يحتوي على معرف (في قاعدة البيانات) ، ولكن للأسف لا يزال الحقل لاغالًا طالما أنني لا أعيد تحميله من DB. هل هناك أي طريقة سهلة لمعرفة المعرف الذي تم إنشاؤه؟ أو أفضل: لتكوين أنه سيتم كتابته في الحقل؟
شكرا مقدما
المحلول
يتم تعيين المعرف بعد التدفق. على افتراض Foo
الكيان لديه id
السمة المشروحة مع المعيار @Id @GeneratedValue
التعليقات التوضيحية ، يعمل الرمز التالي:
Foo foo = new Foo();
//...
em.persist(foo);
em.flush();
assert foo.getId() != null;
لا تنتمي إلى StackOverflow