سؤال

فئة الاستمرارية السبات: 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).

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