Что означает прикрепленный объект в JDO/DataNucleus?

В документах DataNucleus много говорится об отсоединенных объектах и ​​о том, что значит быть отсоединенным, но для новых пользователей они как бы пропускают упрощение: что значит быть прикрепленным?

http://www.datanucleus.org/products/accessplatform

MyPersistableObj p = pm.makePersistent(myNewPersistableObj);
1/jdo/attach_detach.html

Если я выполняю:

MyPersistableObj p = pm.makePersistent(myNewPersistableObj);

Если я правильно понимаю, я получаю копию объекта, который только что был отправлен в базу данных, но насколько это особенное, немного неясно.

  • Если я внесу изменение в одно из полей этого объекта, вызовет ли это автоматическое обновление базы данных? Документы, кажется, намекают на это, но не называют это конкретно.
  • Нужно ли «отсоединять» его, чтобы этого не произошло?
  • Чем это (функции присоединения/отсоединения JDO) отличается от SQL, где я привык к простым для понимания, атомарным вставкам, запросам, обновлениям и удалениям?

person David Parks    schedule 10.11.2010    source источник


Ответы (1)


Жизненный цикл объекта JDO четко определен в http://www.datanucleus.org/products/accessplatform_2_2/jdo/object_lifecycle.html "attached" просто "управляется PersistenceManager", поэтому состояние типа "Persistent Clean"

person DataNucleus    schedule 10.11.2010
comment
Ах, спасибо, я пробежался по этому документу, но на самом деле не установил связь с присоединением/отсоединением. Иногда чтение документации похоже на изучение чего-то снизу вверх, там много информации, но она не всегда связана, пока вы не доберетесь до вершины дерева. Страница присоединения/отсоединения, вероятно, должна вызывать жизненный цикл объекта как необходимое условие для понимания концепции присоединения/отсоединения. Спасибо за помощь! - person David Parks; 11.11.2010