Как я могу игнорировать аннотацию кеша в домене? - PullRequest
0 голосов
/ 15 марта 2019

У меня есть две таблицы, таблица A и таблица B.

    @Entity
    @Table(name = "A")
    @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
    public class A implements Serializable {

        private static final long serialVersionUID = 1L;

        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
        @SequenceGenerator(name = "sequenceGenerator")
        private Long id;

        @NotNull
        @Size(max = 250)
        @Column(name = "name", length = 250, nullable = false, unique = true)
        private String name;

        @OneToMany(mappedBy = "aitems")
        @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
        private Set<B> bItems = new HashSet<>()

@Entity
@Table(name = "B")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class B implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
    @SequenceGenerator(name = "sequenceGenerator")
    private Long id;

    @NotNull
    @Size(max = 250)
    @Column(name = "name", length = 250, nullable = false)
    private String name;

    @ManyToOne
    @JsonIgnoreProperties("bItems")
    private A aItems;

Я могу создать запрос на публикацию для таблицы A и таблицы B, но если я создаю сообщение для A и после сообщения для B с отношением к элементу A, который был создан ранее, я хочу иметь возможность отправить Get запросите A и увидите элемент B, но я могу показывать их только после перезагрузки приложения, потому что, когда я делаю первый пост A, он остается в кеше без элемента B. Как я могу игнорировать это, не удаляя его из домена.

@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)

1 Ответ

1 голос
/ 15 марта 2019

В зависимости от вашей реализации, вы можете воспользоваться @CacheEvict. Посмотрите документы , они показывают, как вы можете изгнать кэш A, когда происходит POST to B.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...