Его вид тот же вопрос: Populating an existing entity using NHibernate только в обычном спящем режиме, а не в NHibernate. Также этот вопрос не был полностью решен IMO.Заполнение существующего объекта с помощью спящего режима
Слишком сложно, возможно ли (в спящем режиме) заполнить или заполнить новое лицо ранее прикрепленным объектом? Что-то вроде:
daoService.getEntityManager().find(Student.class, 123L);
Student student = new Student(123) // Creating a new student
daoService.fill(student);
Результат должен быть, что экземпляр студент будет иметь точное значение, найденному диспетчером объектов.
Я не могу использовать слияние, так как он возвращает новый экземпляр (вместо заполнения данного экземпляра), и я не могу использовать load(), если идентификатор принадлежит уже прикрепленному объекту. Я хочу, чтобы код был общим для каждого объекта, поэтому его нецелесообразно просто устанавливать значения вручную. Я бы предпочел не использовать переосмысление в этом контексте из-за всех потенциальных ловушек (ленивая инициализация, наследование, получение методов без соответствующих методов набора и наоборот и т. Д.)
Я работаю над старой системой, которая использует как JPA-сущности, так и не-сущности (с JDBC), и это может решить мне некоторые серьезные проблемы.
Заранее благодарим за помощь!
Таким образом, ваш идентификатор объекта не автоматически генерируется? – Santosh
Он автоматически генерируется. Если бы я был неясно - студент с id 123 уже существует в моей БД. Я просто хочу заполнить данный объект его значением. – Ran