SQL Server + Hibernate

0 respostas
W

Olá todos !

Estamos desenvolvendo uma aplicação usando JSF 2.0 + Hibernate
Essa aplicação acessará um banco de dados SQL Server.
Na tabela Colaborador existe um campo para guardar senha definido como VARBINARY(255)
Normalmente usariamos uma função do SQL Server chamada de PWDCOMPARE para fazer a comparação da senha passado pelo usuário com a que tá gravada no banco. Veja o exemplo em ASP:

select * from tb_colaborador where ativo=1 and tx_login='" & request("txt_login") & "' and (pwdcompare('" & request("txt_senha") & "', tx_senha, 0) = 1)

Na nossa aplicação criamos uma NamedQuery para fazer essa autenticação:

@NamedQuery(name = "Colaborador.autenticarColaborador", query = "SELECT c FROM Colaborador c WHERE c.ativo = true AND c.txLogin = :txLogin AND c.txSenha = :txSenha")

No bean a senha tá definido como byte, vejam as anotações:

@Basic(optional = false)
@Lob
@Column(name = "tx_senha")
private byte[] txSenha;

Tentamos encaixar o PWDCOMPARE na NamedQuery, mas não funcionou. Assim:

@NamedQuery(name = "Colaborador.autenticarColaborador", query = "SELECT c FROM Colaborador c WHERE c.ativo = true AND c.txLogin = :txLogin AND (pwdcompare(:txSenha, c.txSenha, 0) = 1)")

Sei que ninguém aqui é poste, mas alguém poderia me dar uma luz ?

Criado 9 de setembro de 2010
Respostas 0
Participantes 1