The Doctrine2 generator backup Entity files when it adds code into them. The files are named after the original file with a ~ prepended.
The problem is that these backup files are valid PHP files, and as such, they are loaded by Doctrine2. A PHP fatal error is then fired: "Cannot redeclare class...".
Instead of prepending , why not appending ~, which is a well supported convention? (foo.php vs ~foo.php)
Patch is here: https://github.com/doctrine/doctrine2/pull/35