LazyToOne и Spring LoadTimeWeaver

У меня есть известная проблема, что Hibernate загружает данные даже с аннотацией fetchtype.lazy (описано, например, здесь: http://justonjava.blogspot.de/2010/09/lazy-one-to-one-and-one-to-many.html ).

Поэтому я добавил аннотацию @LazyToOne(LazyToOneOption.NO_PROXY) к своим атрибутам и включил инструментарий байт-кода с Springs loadtimeweaver.
Но hibernate по-прежнему жадно загружает мои свойства.

Я протестировал loadtimeweaver, создав собственный код, и он работает. Кто-нибудь знает, чего мне не хватает.

Ниже описывается структура моего кода.

У меня есть сущности с двусторонними односторонними отношениями, такими как:

@Entity
public class ParentEntity {

  @OneToOne(fetch = FetchType.LAZY)
  @LazyToOne(LazyToOneOption.NO_PROXY)
  private ChildEntityONE childentityOne;


  @OneToOne(fetch = FetchType.LAZY)
  @LazyToOne(LazyToOneOption.NO_PROXY)
  private ChildEntityTWO childentityTwo;
}

а также

@Entity
public class ChildEntityONE {
  @OneToOne(fetch = FetchType.LAZY)
  @LazyToOne(LazyToOneOption.NO_PROXY)
  private ParentEntity parentEntity ;
}

@Entity
public class ChildEntityTWO {
  @OneToOne(fetch = FetchType.LAZY)
  @LazyToOne(LazyToOneOption.NO_PROXY)
  private ParentEntity parentEntity ;
}

И я включил в своем классе приложения loadTimeWeaving с помощью:

@EnableLoadTimeWeaving(aspectjWeaving=EnableLoadTimeWeaving.AspectJWeaving.ENABLED)
public class Application {
...
}

Версия используемых фреймворков:

Spring 4.2.3
Spring boot 1.3.2
Hibernate 4.3.11.Final


person BenHeid    schedule 13.12.2016    source источник
comment
Нашел этот пост очень полезным ankursinghal86.blogspot.com.es/2014/07/   -  person kimy82    schedule 13.12.2016
comment
спасибо за эту ссылку. Это полезно для понимания ленивой загрузки спящего режима, но не решает мою проблему.   -  person BenHeid    schedule 13.12.2016


Ответы (1)


Я нашел свою ошибку. Я забыл установить следующее свойство в application.properties.

spring.jpa.properties.hibernate.ejb.use_class_enhancer=true

Это свойство включает улучшение байт-кода в спящем режиме.

person BenHeid    schedule 13.12.2016