السبات - تحميل كائن بناءً على حقل كائن العضو

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

  •  02-07-2019
  •  | 
  •  

سؤال

كيف يمكن تحميل كائن عبر السبات بناءً على قيمة حقل كائن عضو؟على سبيل المثال، لنفترض أن الفئات التالية موجودة، مع وجود علاقة رأس برأس بين bar وfoo:

Foo {
    Long id;
}

Bar {
    Long id;
    Foo aMember;
}

كيف يمكن استخدام معايير السبات لتحميل الشريط إذا كان لديك معرف Foo فقط؟

أول ما تبادر إلى ذهني هو تحميل كائن Foo وتعيينه كمعيار لتحميل كائن Bar، لكن هذا يبدو مضيعة للوقت.هل هناك طريقة فعالة للقيام بذلك باستخدام المعايير، أم أن جودة الجودة العالية هي الطريقة التي ينبغي التعامل بها مع هذا الأمر؟

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

المحلول

يمكنك بالتأكيد استخدام المعايير بطريقة فعالة لتحقيق ذلك:

session.createCriteria(Bar.class).
        createAlias("aMember", "a").
        add(Restrictions.eq("a.id", fooId));

يجب أن تفعل الحيلة.

نصائح أخرى

يمكنك استخدام المعايير أو HQL.

مثال HQL:

Query query = session.createQuery("من شريط كشريط حيث bar.aMember.id = :fooId");

query.setParameter("fooId", fooId);

نتيجة القائمة = query.list();

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