Hibernate Password

I ai galera, seguinte gostaria de saber como eu faço usando @annotations para criar um campo “password”, não quero que essa String apareça no banco de dados.

Minha classe:

[code]/**

  • User Entity.
    */
    @Entity
    public class User {

    /** The id of user. */
    private Long id;

    /** The user name. */
    private String username;

    /**

    • The password
      */
      private String password;

    /** @return the id. */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Long getId() {
    return id;
    }

    /** @param id the id to set. */
    public void setId(Long id) {
    this.id = id;
    }

    /** @return the passWord. */
    QUERO QUE NÃO APAREÇA A STRING NO BANCO DE DADOS
    public String getPassWord() {
    return password;
    }

    /** @param passWord the passWord to set. */
    public void setPassWord(String passWord) {
    this.password = passWord;
    }

    /** @return the userName. */
    public String getUserName() {
    return username;
    }

    /** @param userName the userName to set. */
    public void setUserName(String userName) {
    this.username = userName;
    }

}
[/code]

desde já, obrigado.

Olha naum tem jeito, tu tem que persiste um String mesmo

Tu primeiramete jah um criptografa a senha e depois persiste como String

Geralmente, em Java faz-se Hash da senha- tu tipo de criptografia e depois

persiste da uma Olha na API MessageDigest do Java

um exemplo:

http://codare.net/2007/02/02/java-gerando-codigos-hash-md5-sha/

Você até poderia criar um UserType do Hibernate e implementar isso. Através de um UserType você poderia dizer que sempre que seu String password fosse persistido ele fosse criptografado e toda vez que você buscasse no banco ele descriptografasse.