Sobes.tech
Junior — Middle
168

Hibernate'de ilişkili varlıklar için varsayılan yükleme stratejisinin değeri nedir?

AI'dan gelen yanıt

sobes.tech yapay zeka

В Hibernate стратегия загрузки (fetch strategy) по умолчанию для связных сущностей зависит от типа связи:

  • Для связей @ManyToOne и @OneToOne по умолчанию используется EAGER загрузка, то есть связанные сущности загружаются сразу вместе с основной.

  • Для связей @OneToMany и @ManyToMany по умолчанию используется LAZY загрузка, то есть связанные коллекции загружаются только при первом обращении к ним.

Это поведение можно переопределить с помощью аннотаций @FetchType.LAZY или @FetchType.EAGER.

Пример:

@Entity
public class Order {
    @ManyToOne(fetch = FetchType.EAGER) // по умолчанию
    private Customer customer;

    @OneToMany(fetch = FetchType.LAZY) // по умолчанию
    private List<OrderItem> items;
}

Таким образом, Hibernate оптимизирует загрузку данных, загружая связанные объекты сразу или по требованию, в зависимости от типа связи.