Hibernate generiert sehr lange SQL -Abfragen mit mehreren @manytoone -Assoziationen (benötigen Lösung, die mit der SpeziJava

Java-Forum
Anonymous
 Hibernate generiert sehr lange SQL -Abfragen mit mehreren @manytoone -Assoziationen (benötigen Lösung, die mit der Spezi

Post by Anonymous »

Ich habe eine Entität namens ustyapi, die viele @Manytoone -Beziehungen hat.

Code: Select all

@Getter
@Setter
@Entity
@Table(name = "yer_ustyapi")
public class Ustyapi extends SBPBaseEntity {

@Column(name = "adi", length = 512, nullable = false)
private String adi;

@Column(name = "sebatlas_oid")
private String sebatlasOid;

@JsonIgnoreProperties({"serbestBolge", "olusturan", "olusturmaTarihi", "sonGüncelleyen", "sonGüncellemeTarihi"})
@ManyToOne(fetch = FetchType.EAGER, targetEntity = Parsel.class)
@JoinColumn(name = "parsel", referencedColumnName = "oid", nullable = false)
private Parsel parsel;

@JsonIgnoreProperties({"bkiFirma", "olusturan", "olusturmaTarihi", "sonGüncelleyen", "sonGüncellemeTarihi"})
@ManyToOne(fetch = FetchType.EAGER, targetEntity = SerbestBolge.class)
@JoinColumn(name = "sbolge", referencedColumnName = "oid", nullable = false)
private SerbestBolge serbestBolge;

@ManyToOne(fetch = FetchType.EAGER, targetEntity = Il.class)
@JoinColumn(name = "il", referencedColumnName = "oid")
private Il il;

@ManyToOne(fetch = FetchType.EAGER, targetEntity = Ilce.class)
@JoinColumn(name = "ilce", referencedColumnName = "oid")
private Ilce ilce;

@ManyToOne(fetch = FetchType.EAGER, targetEntity = Mahalle.class)
@JoinColumn(name = "mahalle", referencedColumnName = "oid")
private Mahalle mahalle;

@ManyToOne(fetch = FetchType.EAGER, targetEntity = Sokak.class)
@JoinColumn(name = "sokak", referencedColumnName = "oid")
private Sokak sokak;

// ... and many more ManyToOne fields ...
}

< /code>
Wenn ich versuche, diese Entität zu holen, generiert Hibernate sehr lange Abfragen mit vielen Verknüpfungen. Zum Beispiel: < /p>
Hibernate: select u1_0.oid,u1_0.iskan_belge_no,u1_0.adi,u1_0.aktif, ... from yer_ustyapi u1_0 left join ... left join ... left join ... -- query continues for a very long time

Dies schafft Leistungsprobleme und macht das Debuggen extrem schwierig. /> Ich habe bereits @batchSize, bei Fetch und faul ausprobiert, aber die Ergebnisse waren immer noch nicht optimal. Unnötig lange Abfragen? Wenn ja, wie kann ich das richtig integrieren? Kann ich diese Entität konfigurieren, damit der Ruhezustand keine unnötig langen Abfragen erzeugt? Wenn ja, wie kann ich das richtig integrieren?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post