Я удалил Spring Roo из своего проекта Spring, это было ненужно, и сборка заняла много времени в eclipse sts.Я выполнил Push-In, и теперь мои объекты-сущности включают исходный код старых файлов Roo.
Ничего не изменилось более или менее, включая управление PersistentContext, которое кажется очень странным.На самом деле, я замечаю, что каждый раз, когда мне нужно создать запрос, мне нужно создать экземпляр класса сущности, чтобы получить EntityManager?
В моем классе сущности у меня есть
@Configurable
@Entity
@Table(name = "angr_clienti")
public class AngrClienti {
....
@PersistenceContext
transient EntityManager entityManager;
public static final EntityManager entityManager() {
EntityManager em = new AngrClienti().entityManager;
if (em == null) throw new IllegalStateException("Entity manager has not been injected (is the Spring Aspects JAR configured as an AJC/AJDT aspects library?)");
return em;
}
public static List<AngrClienti> findAllAngrClientis() {
return entityManager().createQuery("SELECT o FROM AngrClienti o", AngrClienti.class).getResultList();
}
ЭтоСтранно, что каждый раз, когда я вызываю findAllAngrClientis (), он вызывает метод entityManager (), который создает новый объект AngrClienti () для доступа к диспетчеру сущностей.
new AngrClienti().entityManager;
Я думаю, что он занимает очень много памяти, так почему?