powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate: вопрос по second level cache и наследование сущностей(SINGLE_TABLE)
2 сообщений из 2, страница 1 из 1
Hibernate: вопрос по second level cache и наследование сущностей(SINGLE_TABLE)
    #37737521
slippery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер, есть такая теоретическая иерархия сущностей:

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "user_type", discriminatorType = DiscriminatorType.STRING)
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class User {
Long id;
}


@Entity
@SecondaryTable(name ="guest")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Guest extends User {
@Column(table = "guest")
private String name;
}

@Entity
@SecondaryTable(name ="Member")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE,)
public class Member extends User {
@Column(table = "Member")
private String name;
}


Так вот, кэши не создаются для Guest и для Member . Не создается кэш с именем класса в качестве дефолтового региона, а если регион и кэш прописать в ручную, то они не заполняются данными при выемки через session.get . Вместо это создается 1 кэш для User . И туда будут помещаться как я понял все объекты которые расширяют User .
1.Правильно ли я понимаю(вроде практика подтверждает)?
2. И как мне в такой иерархии сделать так чтоб я могу указывать создавать кэш уже для конкретного потомка к примеру для Member , а чтоб для Guest кэша не было.
Применить другую иерархию в проекте не имею возможность. Можно ли такое сделать на данном виде иерархии и если нет то почему, а если да, то как?)

Заранее благодарен.
...
Рейтинг: 0 / 0
Hibernate: вопрос по second level cache и наследование сущностей(SINGLE_TABLE)
    #37738669
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slippery1.Правильно ли я понимаю(вроде практика подтверждает)?

https://forum.hibernate.org/viewtopic.php?f=1&t=937742
Смотреть конструктор SessionFactoryImpl

slippery2. И как мне в такой иерархии сделать так чтоб я могу указывать создавать кэш уже для конкретного потомка к примеру для Member , а чтоб для Guest кэша не было.

Никак. Только для всех юзеров.


slipperyПрименить другую иерархию в проекте не имею возможность. Можно ли такое сделать на данном виде иерархии и если нет то почему, а если да, то как?)
Связано это с тем как хибернейт хранит данные в кеше.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate: вопрос по second level cache и наследование сущностей(SINGLE_TABLE)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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