Сохранение объекта в Hibernate с известным первичным ключом.

Моя проблема связана с отдельными объектами ...

В настоящее время я использую Spring с Hibernate.

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

@Id
private String id;

private String pattern;

Так, например, я хочу добавить что-то вроде:

["id": "myFirstPattern", "pattern": ". *"]

Обратите внимание, что мой первичный ключ уже установлен. Проблема в том, что всякий раз, когда я пытаюсь упорствовать,Hibernate попытается связать этот объект с любым объектом в контексте (из-за первичного ключа) и не сможет этого сделать, так как их нет. Выдача ошибки отсоединенного объекта.

Я провел некоторое исследование и пришел к выводу, что функция merge () удовлетворит мои потребности, поскольку она сохраняется и обновляется, даже если объект недоступен. Однако я нашел это довольно грязный обходной путь и хотел проверить, есть ли другие решения этой проблемы.

Учтите, что у нас есть уровень Helper, поэтому уровень Services не будет работать напрямую со слоем HibernateDao. Так что я могу «замаскировать» это, добавив методы «persist» и «update», которые будут вызывать один и тот же метод DAO слияния.

Спасибо, Флавио.

7
задан flavio_yama 28 July 2011 в 16:38
поделиться