سؤال

مرحبا لدي هذا 3 صف دراسي:

public class A{

    @ManyToOne
    @JsonIgnore
    private B b;

        .....
}

public class B{

    @OneToOne
    @JsonIgnore
    private C c;

        .....
}

public class C{
        .....
}

لدي findById(id) على بلدي A الطبقة ، والسبات القيام الانضمام إلى B الطبقة ، وأنها تفعل آخر الانضمام إلى C صف دراسي.

لكنني لست بحاجة إلى الحصول على حقول فئة ج, لذلك يمكنني أن أفعل??

يعطيكم الصّحة

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

المحلول 2

أنا حلها كما اقترح:

أضيف @OneToOne(fetch = FetchType.LAZY) لأن بلدي المقدمة ليست إلزامية..

نصائح أخرى

يمكنك محاولة تعيين max_fetch_depth خاصية السبات إلى قيمة بشكل صحيح.

من وثائق السبات:

يحدد "العمق" الأقصى لشجرة جلب الوصلة الخارجية للجمعيات أحادية الطرف (واحد لواحد ، متعدد لواحد).يقوم 0 بتعطيل جلب الانضمام الخارجي الافتراضي.على سبيل المثال.القيم الموصى بها بين 0 و 3.

لكن ضع في اعتبارك أن هذا سيؤثر على مشروعك بالكامل.

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