Если у нас есть объект динамического чтения и записи, скажем, Заказ Class Order
, у которого есть атрибут поиска, скажем, orderType
. OrderType
- справочная справочная таблица, доступная только для чтения, записи в которой никогда не могут меняться или повторяться раз в год или около того.
Как лучше всего отобразить такой атрибут.
1) Следует ли отображать такой атрибут, как и другие. Преимущество просто реализовать. Недостаток. Ненужные соединения в запросах с поисками или дополнительные запросы, запущенные для выборки объектов поиска.
2) Если у нас просто не будет никакого отображения в Order
(родительском) классе. И fetch может ли изначально кэшировать все объекты поиска и использовать их в коде там, где это необходимо? например, класс Order
имеет только orderTypeId
. И может содержать следующий метод
getOrderType()
{ return orderTypeCache.get(orderTypeId); }
3) Следует ли использовать кеш второго уровня с первым подходом.
4) Любая другая передовая практика.
@MarufHassan Спасибо за ответ. Да Enum - это один из вариантов. Однако, если будет добавлен какой-либо новый orderType, нам может потребоваться изменить код Java.
Отобразите это как что-нибудь еще. Когда-нибудь ваш статический поисковый объект станет динамическим. У вас, вероятно, не будет проблем с производительностью, связанных с этими объектами. Если он у вас действительно есть, используйте кеш второго уровня для их кеширования, при этом отображая их точно так же, как и другие объекты.
Как если бы сохранить OrderType как перечисление?