Hibernate: сопоставление сущностей только для чтения (статический) Лучшая практика

Если у нас есть объект динамического чтения и записи, скажем, Заказ Class Order, у которого есть атрибут поиска, скажем, orderType. OrderType - справочная справочная таблица, доступная только для чтения, записи в которой никогда не могут меняться или повторяться раз в год или около того.

Как лучше всего отобразить такой атрибут.

1) Следует ли отображать такой атрибут, как и другие. Преимущество просто реализовать. Недостаток. Ненужные соединения в запросах с поисками или дополнительные запросы, запущенные для выборки объектов поиска.

2) Если у нас просто не будет никакого отображения в Order (родительском) классе. И fetch может ли изначально кэшировать все объекты поиска и использовать их в коде там, где это необходимо? например, класс Order имеет только orderTypeId. И может содержать следующий метод

getOrderType() { return orderTypeCache.get(orderTypeId); }

3) Следует ли использовать кеш второго уровня с первым подходом.

4) Любая другая передовая практика.

Как если бы сохранить OrderType как перечисление?

maruf571 31.10.2018 10:28

@MarufHassan Спасибо за ответ. Да Enum - это один из вариантов. Однако, если будет добавлен какой-либо новый orderType, нам может потребоваться изменить код Java.

Nehal Damania 01.11.2018 09:02

Отобразите это как что-нибудь еще. Когда-нибудь ваш статический поисковый объект станет динамическим. У вас, вероятно, не будет проблем с производительностью, связанных с этими объектами. Если он у вас действительно есть, используйте кеш второго уровня для их кеширования, при этом отображая их точно так же, как и другие объекты.

JB Nizet 01.11.2018 09:20
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
133
0

Другие вопросы по теме