Коллекции JPA Hibernate не загружаются

У меня есть настройки JPA таким образом, что, если я не использую отложенную загрузку, будет загружена почти вся база данных. Я также использую сериализацию непосредственно на моделях, поэтому иногда мне нужно инициализировать прокси.

Я только хочу использовать ленивую нагрузку на коллекции. Тот факт, что некоторые особые объекты извлекаются с нетерпением, работает просто отлично. Но независимо от того, как я пытаюсь настроить коллекции, я никогда не получаю коллекцию прокси, я всегда получаю полностью загруженную коллекцию.

Это пример кода:

@Entity
public class Thread implements Externalizable {
    @OneToMany(mappedBy = "parentThread", fetch = FetchType.LAZY)
    public List<Reply> getReplies() {
        return replies;
    }

Итак, проблема здесь в том, что когда я проверяю отладчик, список ответов persistantBag всегда заполняется информацией и является фактическими объектами Reply вместо пустых прокси, которые я хочу.

Я использую entityManager.find (Thread.class, "ID"), когда мне нужен поток, и все подобные коллекции всегда полностью загружаются независимо от того, есть у меня fetch = FetchType.LAZY или нет.

Насколько я понимаю, установка fetchtype lazy должна работать так, как я хочу. Также я бы хотел, чтобы при использовании thread.getReplies () загружались сущности, чтобы я мог сериализовать их и отправить их клиенту. Я не знаю, будет ли getReplies работать с прокси-объектами, так как мне никогда не удавалось загружать какую-либо коллекцию.

На стороне не я использую Intellij и использовал его для настройки JPA с Hibernate. Я также задал похожий вопрос, где я хочу, чтобы коллекция была полностью пустой, но я не уверен, возможно ли это, и поэтому я задаю этот вопрос вместо этого.

JPA Hibernate хочет ленивую загрузку, чтобы вернуть пустую коллекцию

Я еще не видел хорошего ответа на этот, казалось бы, основной вопрос по stackoverflow. Пожалуйста, отвечайте только со ссылкой, если на вопрос действительно ответили педагогическим путем, так как я новичок в JPA / Hibernate и на самом деле базы данных.

Заранее большое спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос