2012-01-11 3 views
1

Я читаю о классе HibernateTemplate в Spring3.Spring hibernate template class

Здесь я увидел два метода обновления и saveOrUpdate, я прочитал его из документации, такой как

  • обновление

Update данный экземпляр настойчивый, связывая его с текущей Hibernate сессии.

Здесь что значит «связать его с текущей сессией спящего режима»?

  • saveOrUpdate

Сохранить или обновить данный упорный экземпляр, в соответствии с его идентификатором (соответствие настроенного "несохраненного-значения"?). Связывает экземпляр с текущим сеансом Hibernate.

Здесь что означает «согласно его идентификатору (соответствует настроенному« несохраненному значению »?). Связывает экземпляр с текущим сеансом Hibernate»?

Пожалуйста, помогите мне

Спасибо заранее

ответ

1

Simple - Если объект с таким же идентификатором существует в БД, она обновляет его еще, если идентификатор (первичный ключ) имеет нулевое значение, он сохраняет его как новое значение - Следовательно, saveOrUpdate - в зависимости от того, является ли это значением, существующим в БД или новым значением.

Идентификатор совпадает с совпадением вашего идентификатора pojo в hbm под тегом с указанным столбцом.

saveOrUpdate() выполняет следующие действия:

if the object is already persistent in this session, do nothing 

if another object associated with the session has the same identifier, throw an exception 

if the object has no identifier property, save() it 

if the object's identifier has the value assigned to a newly instantiated object, save() it 

if the object is versioned by a <version> or <timestamp>, and the version property value is the same value assigned to a newly instantiated object, save() it 

otherwise update() the object 

От here

Надеется, что это помогает.

1

Здесь что означает «связать его с текущей сессией спящего режима»?

После извлечения этого объекта через этот Session вы получите обновленный объект. Другие Session s не будут видеть обновления до тех пор, пока не будет очищено Session.

Вот что значит «в соответствии с его идентификатором (соответствие сконфигурированного„несохраненного-значения“?).

Если лицо имеет идентификатор, это лечится saveOrUpdate как существующий объект (в DB), иначе это новый. «unsaved-value» - это значение, которое Hibernate будет помещать в id на saveOrUpdate нового объекта. Вы можете настроить это, например, отрицательное значение. Таким образом, вы также может определить, следуя результатам поиска этого объекта из Session, будь то новый объект, еще не сохраненный в БД или существующий.

1

Здесь что значит «связать его с текущим Hibernate Сессия»?

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

Вот что такое значение слова «в соответствии с его идентификатором (согласования, выполненный с „несохраненную-значение“?). Связывает экземпляр с текущей сессии Hibernate »?

Если атрибут идентификатора объекта имеет значение, то оно обновляется и присоединяется к сеансу для дальнейшего отслеживания изменений по сеансу else, вставляет этот объект в БД в качестве новой записи и будет ассоциироваться с сеансом.

Просьба перейти через юридическое лицо instance states лиц спящего режима