Estou usando a implementação TopLink da oracle e setei algumas atributos assim
@Column(name="NOME", unique=true, nullable=false)
soh que qdo eu executo a aplicação e insiro msm valores nulos e/ou ateh repetidos, ele naum lança a exceção EntityExistsException 
estou usando spring tb para o controle de transação e configuração do meu EntityManager…
E o dado é inserido? Não viu se o spring tá captando a excessão e dando um rooldback?
o dado eh inserido, tento sempre os msm valores e ele repetindo no banco…
usando o hibernate-entitymanager isto funcionou legal aqui …
usando o Toplink-Essentials não rolou também …
o pior ainda… eh q nem colocando na anotação @Table os campos setados como únicos funciona 
@Table(name="TB_FORMULARIO", uniqueConstraints={@UniqueConstraint(columnNames={"NOME", "CPF"})})
keria continuar usando o toplink, mas se naum tive jeito msm de fazer isso q estou kerendo vou ter q migra pra hibernate 
FkJ
#6
Estou usando JPA + Hibernate + Hibernate Validator e também não está funcionando