What all does getPersistenceManager ().обновить (сущность) загрузить?

Я наткнулся на часть кода в моем проекте, где getPersistenceManager().refresh(entity);используется. Когда я проверил запросы Hibernate, которые запускаются. Есть несколько других запросов, которые запускаются и являются дочерними элементами сущности, которая должна быть обновлена.

Почему запускаются эти запросы? Почему не выполняются запросы для всех дочерних сущностей?

РЕДАКТИРОВАТЬ:

@OneToMany(fetch = FetchType.LAZY, mappedBy = "entity", cascade = { CascadeType.PERSIST,
            CascadeType.REMOVE, CascadeType.REFRESH })
    @JoinColumn(name = "ENTITY_TABLE", nullable = false)
private List<Employee> employee; // This is an example. Actual code resembles this example.

1 ответ

  1. Поскольку вам не удалось опубликовать какой-либо код, трудно сказать, однако наиболее вероятным объяснением является то, что соответствующие параметры каскада не определены на ассоциации.

    http://docs.oracle.com/javaee/7/api/javax/persistence/CascadeType.html#REFRESH

    @Entity
    public class Parent{
    
        // on of the following would have to be defined
        //@OneToMany(cascade = CascadeType.ALL)
        @OneToMany(cascade = CascadeType.REFRESH)
        public Set<Child> children;
    
    }