Author: agilliland
Date: Wed Apr 12 22:35:00 2006
New Revision: 393716
URL: http://svn.apache.org/viewcvs?rev=393716&view=rev
Log:
adding comment about how we handle detached objects being saved.
Modified:
incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernatePersistenceStrategy.java
Modified:
incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernatePersistenceStrategy.java
URL:
http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernatePersistenceStrategy.java?rev=393716&r1=393715&r2=393716&view=diff
==============================================================================
---
incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernatePersistenceStrategy.java
(original)
+++
incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernatePersistenceStrategy.java
Wed Apr 12 22:35:00 2006
@@ -132,7 +132,23 @@
session.save(obj);
}
+ /*
+ * technically we shouldn't have any reason to support the saving
+ * of detached objects, so at some point we should re-evaluate this.
+ *
+ * objects should be re-attached before being saved again. it would
+ * be more appropriate to reject these kinds of saves because they are
+ * not really safe.
+ *
+ * NOTE: this may be coming from the way we use formbeans on the UI.
+ * we very commonly repopulate all data in a pojo (including id) from
+ * form data rather than properly loading the object from a Session
+ * then modifying its properties.
+ */
if ( !session.contains(obj) ) {
+
+ log.debug("storing detached object: "+obj.toString());
+
// Object has been written to database, but instance passed in
// is not a persistent instance, so must be loaded into session.
PersistentObject vo =