The unique attribute of the property element is used by Hibernate's DDL generation stuff to create the unique index. It does not validate whether the value is unique. It (quite rightly) leaves that to the database. If this constraint is important, why don't you have a unique index defined?
If you are looking for this sort of per property rule validation functionality, have a look at Hibernate Validator.