Я использую Spring 3.0.6, jpa 2.0, спящий режим 3.6.8. Мой вопрос: в каких ситуациях javassist используется для создания «прокси» для EntityClass? И в чем причина этого прокси? У меня есть следующие лица:Когда объекты-классы расширены и зачем? jpa, spring, hibernate, javassist
@Entity
public MyEntity{
..
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "adresseID")
private Adresse adresse;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "myEntity")
private List<Parameter> parameters;
..
}
Когда я загружаю MyEntity из БД, класс сущности является чем-то вроде MyEntity __ $$ _ Javassist. Почему это делается? Зачем? Я думаю, что здесь можно использовать только обычный класс MyEntity.
Для реализации отложенной загрузки, мы можем:
- для @OneToMany - PersistenceBag здесь можно использовать
- для @ManyToOne - здесь должны быть использованы "enchancedClass" как Adress_ $$ _javassist
Итак, в чем причина для зачатия MyEntity? Где я могу прочитать что-то еще об этом? Какую книгу/статью/блог вы можете мне порекомендовать?