You don't say what database you are using?
In Sql server, at least, there is a timestamp datatype. It allows this kind of concurancy control without checking each field in your entity against the database.
I would love to see an example where a table lock was "better" than any row based concurrency check.