Domanda

Ciao ho questa classe:

public class A{

    @ManyToOne
    @JsonIgnore
    private B b;

        .....
}

public class B{

    @OneToOne
    @JsonIgnore
    private C c;

        .....
}

public class C{
        .....
}
.

Ho un findById(id) sulla mia classe A e Hibernate esegue un join to B Class, e il fatto di un altro join to C Class.

Ma non ho bisogno di ottenere campi di classe C, quindi posso fare ??

Grazie

È stato utile?

Soluzione 2

Ho risolto come suggerito:

Aggiungo @OneToOne(fetch = FetchType.LAZY) perché il mio archiviato non è obbligatorio.

Altri suggerimenti

È possibile provare a impostare la proprietà Ibernate max_fetch_depth su un valore corretto.

Dalla documentazione di Hibernate:

Imposta una massima profondità "per il recupero dell'istorità esterno per le associazioni single-eliminate (uno a uno, molti a uno).A 0 disabilita il recupero dell'istorità esterna predefinita. per esempio.Valori consigliati tra 0 e 3.

Ma tieni presente che questo influenzerà il tuo intero progetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top