powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / EntityManager cache
4 сообщений из 4, страница 1 из 1
EntityManager cache
    #39419146
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начитываю данные в EM
Код: java
1.
2.
3.
4.
5.
    public T read(PK id) {
        final T result;
        result = em.find(type, id);
        return result; 
    }



Заметил, если в БД происходят изменения, EM возвращает данные старые (из кэша)
Можно ли вернуть новые данные

Нашел
em.getEntityManagerFactory().getCache().evictAll();

Но можно ли применить это для конкретной entity?
...
Рейтинг: 0 / 0
EntityManager cache
    #39419166
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=Koba=-Но можно ли применить это для конкретной entity?
RTFM
А вообще аккуратнее надо быть с такой архитектурой. Либо кеш в ORM либо прямые апдейты в базу мимо кеша. А то так можно и просто кеш отключить и "не парится".
...
Рейтинг: 0 / 0
EntityManager cache
    #39419473
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz-=Koba=-Но можно ли применить это для конкретной entity?
RTFM
А вообще аккуратнее надо быть с такой архитектурой. Либо кеш в ORM либо прямые апдейты в базу мимо кеша. А то так можно и просто кеш отключить и "не парится".

Может дадите совет тогда, в каком направлении лучше копать

Есть 2 Entity справочник и его содержание
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class ProductNsiImages implements Serializable {
...
    @OneToMany(mappedBy = "productNSIImages", orphanRemoval = true)
    @Getter
    @Setter
    private List<ProductImages> productImages;
...

public class ProductImages implements Serializable {
...
    @ManyToOne
    @JoinColumn(name = "PRODUCT_NSI_IMAGES", referencedColumnName = "ID", nullable = false)
    @Setter
    private ProductNsiImages productNSIImages;



Собственно заметил начитываю список справочников
Приходит List<ProductNsiImages> где productImages имеет разное количество для каждого справочника

Потом у одного справочника меняю ProductImages (дбавлюя новые)
И опять начитываю список справочников
Но приходит productImages со старыми занчениями

Вот я и подумал может чистить кэш или есть другое решение
...
Рейтинг: 0 / 0
EntityManager cache
    #39419712
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=Koba=-Начитываю данные в EM
Код: java
1.
2.
3.
4.
5.
    public T read(PK id) {
        final T result;
        result = em.find(type, id);
        return result; 
    }



Заметил, если в БД происходят изменения, EM возвращает данные старые (из кэша)
Можно ли вернуть новые данные

Нашел
em.getEntityManagerFactory().getCache().evictAll();

Но можно ли применить это для конкретной entity?

В spring-data есть метод saveAndFlush().

С уважением, Валентин
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / EntityManager cache
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]