The application should be setting the proper state rather than relying on a trigger; otherwise, your object state and DB state will not be consistent.