Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Mudar as propriedades do entitymanager

Senhores, estou com uma dificuldade, eu configurei o datasource no wildfly, só que estou com problemas para mudar as propriedades do entityManager no processo de login. Como é o EJB que se encarrega de abrir a conexão, quando eu tento alterar as propriedades, a conexão já esta aberta.

4 respostas

Oi Flavio,

quais propriedades vc gostaria de mudar? tbm coloque o seu codigo aqui para podermos rever juntos.

abs, Nico

Boa tarde Nico,

Eu apenas injetei a classe a baixo e chamei o método logar. Então fazendo os testes, percebi que ele não faz a autenticação e sempre usa o usuário e senha que eu escrevi no standalone.xml.

@Stateless
public class UsuarioDao {

    @PersistenceContext
    private EntityManager em;

    public boolean logar(Usuario usuario) {

        if ( usuario.getNome()== null||usuario.getSenha()== null) return false;

        em.setProperty("javax.persistence.jdbc.user", usuario.getNome());
        em.setProperty("javax.persistence.jdbc.password", usuario.getSenha());

    //    em.getTransaction().begin();  da erro pois a transação já esta aberta

        return em.isOpen();
    }
}
solução!

Olá Flávio, tudo bem?

O usuário e senha utilizados para login devem estar seu banco de dados. E não em propriedades do EntityManager

Quanto às transações, como a JTA estará gerenciando não é possível chamar o método getTransaction().

Abraços!

Boa tarde Leonardo,

Obrigado pela ajuda, é que eu não tenho a permissão de ver a tabela de usuários, por isso eu queria fazer o login pelo entityManager. Pedi uma view pro DBA xD