|
|
|
Hibernate: вопрос по second level cache и наследование сущностей(SINGLE_TABLE)
|
|||
|---|---|---|---|
|
#18+
Добрый вечер, есть такая теоретическая иерархия сущностей: @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 кэша не было. Применить другую иерархию в проекте не имею возможность. Можно ли такое сделать на данном виде иерархии и если нет то почему, а если да, то как?) Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2012, 02:22:53 |
|
||
|
Hibernate: вопрос по second level cache и наследование сущностей(SINGLE_TABLE)
|
|||
|---|---|---|---|
|
#18+
slippery1.Правильно ли я понимаю(вроде практика подтверждает)? https://forum.hibernate.org/viewtopic.php?f=1&t=937742 Смотреть конструктор SessionFactoryImpl slippery2. И как мне в такой иерархии сделать так чтоб я могу указывать создавать кэш уже для конкретного потомка к примеру для Member , а чтоб для Guest кэша не было. Никак. Только для всех юзеров. slipperyПрименить другую иерархию в проекте не имею возможность. Можно ли такое сделать на данном виде иерархии и если нет то почему, а если да, то как?) Связано это с тем как хибернейт хранит данные в кеше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2012, 15:57:56 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37737521&tid=2132131]: |
0ms |
get settings: |
13ms |
get forum list: |
22ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
51ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 347ms |
| total: | 527ms |

| 0 / 0 |
