ظروف الانضمام السيارات السبات
-
06-09-2019 - |
سؤال
فئة الاستمرارية السبات: entity فئة عامة A {
@OneToMany(mappedBy = "a")
private Set<B> bSet = new HashSet<B>();
@Basic
private boolean DELETED;
}
تحتوي فئة B أيضا على خاصية محذوفة. كيف يمكننا معالجة الخاصية المحذوفة أثناء الانضمام تلقائيا، لتحديد كيانات محددة فقط. قد يكون بمساعدة بعض التعليقات التوضيحية. إنه ممكن؟
المحلول 2
كثير من تشك! هذا هو عزمي:
@Entity
public class A extends DeletableEntity{
@OneToMany(mappedBy = "a")
@Where(clause = "DELETED=0 or DELETED is null")
private Set<B> bSet = new HashSet<B>();
public Set<B> getBSet() {
return bSet;
}
public void setBSet(Set<B> bSet) {
this.bSet = bSet;
}
}
و HQL "حدد A.dleted من تاريخ الانضمام A.BSST BEST" سيتم إنشاء SQL الأصلي مثل هذا:
حدد A0_.dleted ك Col_0_0_ من A0_ Inner Join B betSet1_ على a0_.id = bsset1_.a_id و (betset1_.deleted = 0 أو bset1_.deleted خالية)
و EntityManager.find (...) سوف تعمل بشكل صحيح :)
نصائح أخرى
وفق وثائق السبات يجب عليك استخدام نتيجة النتيجة (Alias_to_entity_map).
لا تنتمي إلى StackOverflow