1) Reason why it does not show up in plain Java project but in Dynamic web project - in the java project you don't have the Dali/JPA validator enabled. It is on the dynamic web project.
2) Since the actual construct actually also seem to fail when running/using it with hibernate the actual validation seem to have some merit ?
3) This is not jboss nor Hibernate tools doing the validation btw. It's Dali/JPA as far as I can see.