Update no JPA (verificar constraint)

Olá amigos, minha dúvida é simples: tenho um campo nome no meu banco de dados que deve ser único, porém não defini nenhuma constraint pra isso pois quero tratar na aplicação.
Quando vou inserir, verifico se o nome existe e caso não exista, faço a inserção.
Quando vou editar, verifico se o nome existe, porém se eu não tiver alterado o nome, ele existirá pois é o que eu estou editando. Também pode ocorrer de alterar o nome para um outro que já exista, neste caso ele existirá mas não será o que estou editando. Então no primeiro caso devo permitir a operação, e no segundo não, sendo assim estou utilizando o seguinte código:

...
} else if (getStatus().equals("editar")) {

                try {

                    //Verifica se já tem usuário com o mesmo nome
                    usuarioQuery = minhaPU.createQuery("SELECT u FROM Usuarios u WHERE u.usuario = '" + txUsuario.getText() + "'");

                    // Se não retornar nenhum ou retornar o que está em edição
                    if (usuarioQuery.getResultList().isEmpty()
                            || (Usuarios) usuarioQuery.getSingleResult() == usuario) {

                        minhaPU.getTransaction().begin();
                        ...

Gostaria de saber como vocês tratam isso, se tem alguma sugestão melhor.
Obrigado!

Vc pode controlar pelo id.
Se o id do cara q está editando é diferente do id do cara q vc encontrou o nome, não deixa.

Isso se vc não utilizar as opções tipo unique = true e fazer as validações via anotação