Hibernate ленивое поле загрузки встроенных - PullRequest
1 голос
/ 27 марта 2020

У меня есть следующая структура:

@Entity
class Parent {
    @Id
    private String id;

    @Embedded
    private Child child;
}

@Embeddable
class Child {
    @Column(...)
    private int fieldA;

    @Lob
    @Basic(fetch = FetchType.LAZY)
    @Column(...)
    private A a;
}

И A - это простой Java класс.

class A {
 ...
}

У меня вопрос, можно ли лениво загрузить a поле класса Child, при загрузке родительского объекта из базы данных? Я попытался с плагином Enhancer, но поле все еще с нетерпением извлекается.

           <groupId>org.hibernate.orm.tooling</groupId>
                <artifactId>hibernate-enhance-maven-plugin</artifactId>
                <version>${hibernate.version}</version>
                <executions>
                    <execution>
                        <configuration>
                            <failOnError>true</failOnError>
                            <enableLazyInitialization>true</enableLazyInitialization>
                        </configuration>
                        <goals>
                            <goal>enhance</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

Ленивая загрузка дочернего поля родительского класса не поддерживается. Моя цель - ленивая загрузка только поля a класса Child. Любые предложения приветствуются

1 Ответ

1 голос
/ 08 апреля 2020

Похоже, что это проблема в спящем режиме. К сожалению, он все еще открыт и, возможно, он будет исправлен в версии 6.0 в соответствии с разделом комментариев к проблеме.

В зависимости от вашего варианта использования, вы можете обойти это, используя отношение, или убрать нужные поля. быть ленивым загруженным из встраиваемого объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...