Постоянное время выступает в качестве сущностей вместо типов значений? - PullRequest
1 голос
/ 15 ноября 2010

Я использую Joda Time DateTime для обработки даты и времени.Я сохраняю объекты такого рода, используя класс PersistentDateTime, связанный с кодом гибернации jodatime .

У меня есть большие коллекции объектов DateTime, и в настоящее время я сохраняю их следующим образом (ниже приводится выдержка из файла отображения гибернации):

<set name="validInstants" sort="natural">
     <key column="myobject_id"/>
     <element column="date" type="myproject.utilities.hibernate.types.PersistentDateTime"/>
 </set>

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

Насколько я знаю (я и новичок в Hibernate), единственный способ достичь этого - создать класс, который обернет DateTime и отобразит его как сущность, плюс созданиефабрика, которая всегда возвращает одну и ту же оболочку DateTime при запросе одной и той же даты.Это лучший способ сделать то, что я хочу?Предложения?

1 Ответ

0 голосов
/ 15 ноября 2010

Какая связь между сущностью, хранящейся здесь, и набором validInstants? Является ли объект «владельцем» validInstants? Имеет ли член validInstants какое-либо использование или жизнь вне сущности, в которой он объявлен как часть?

Если нет, то я не думаю, что имеет смысл рассматривать не-сущность как сущность (что было бы, если бы вы 'создавали класс, который упаковывает DateTime и отображает его как объект ").

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

...