• Можно ли описать связь один ко многим c возможностью изменять поле с внешним ключом?

    @bobzer
    Java EE Developer
    Несмотря на то, что на объектном уровне Hibernate требует объект Group, на самом деле ему для корректного сохранения в БД нужен лишь group_id. Можно создать пустой/фейковый (не считанный из БД) экземпляр Group и указать ему нужный вам group_id. После этого его можно смело передавать в user.setGroup(group); Если количество групп в Системе ограничено и все они известны заранее (подтекст вопроса это подразумевает), то можно хранить как константы экземпляры Group с заполненным полем ID.
    Ответ написан
    5 комментариев
  • Как сделать правильную организацию "напоминаний" на уровне БД?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Как бы я это реализовал:
    В произвольном, удобном для Вас виде храним периодичность (можно как Вы написали в первом варианте, в формате крона). Дополнительно, отдельным полем храним дату следующего наступления события. Соответственно все выборки ведем просто по дате.
    Это для случая если у задачи нет cтатуса выполнения, не нужно смотреть на прошлые/будущие задачи, итд.

    Если хочется сделать как в google calendar / icloud - где каждый экземпляр этой повторяющейся задачи по сути достаточно независим - становится чуть сложнее.
    Получается 2 таблицы: задача-прототип где хранится периодичность, дата первого запуска и опционально дата последнего, - и задача-экземпляр где хранится конкретная дата и ссылка на прототип.

    Сумбурно получилось, не проснулся еще :)
    Если что - давайте обсудим :)
    Ответ написан
    2 комментария