[
https://jira.jboss.org/jira/browse/JBSEAM-3562?page=com.atlassian.jira.pl...
]
Dan Allen commented on JBSEAM-3562:
-----------------------------------
I would say a) because we can and b) because it is misleading to report to the user that
the record was updated when there was in fact no change. I might even through in c)
because an observe my be listening for the event to execute a requery, when really it
isn't necessary.
update() should consult the dirty flag on the persistence context
-----------------------------------------------------------------
Key: JBSEAM-3562
URL:
https://jira.jboss.org/jira/browse/JBSEAM-3562
Project: Seam
Issue Type: Feature Request
Components: Framework
Affects Versions: 2.1.0.CR1
Reporter: Dan Allen
Assignee: Dan Allen
Priority: Minor
Fix For: 2.1.1.CR1
Original Estimate: 15 minutes
Remaining Estimate: 15 minutes
When update() is called on a Home instance, only attempt to flush, register the status
message, and raise the transaction success event if the persistence context was dirty. Of
course, this only is effective if Hibernate is the persistence provider.
@Transactional
public String update()
{
joinTransaction();
// For a non-Hibernate JPA provider, this always returns true
if (PersistenceProvider.instance().isDirty(getEntityManager()))
{
getEntityManager().flush();
updatedMessage();
raiseAfterTransactionSuccessEvent();
return "updated";
}
return "unchanged";
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira