Exemplo: eu tenho a classe Pessoa abaixo:
@Entity
public class Pessoa {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idPessoa;
private String nome;
//getters e setters
}
O hibernate, por padrão, persiste no banco uma String como Varchar, e quero persistir no banco como text e altero para a seguinte configuração:
@Entity
public class Pessoa {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idPessoa;
@Column(columnDefinition = "text")
private String nome;
//getters e setters
}
Acrescentando a annotation "@Column(columnDefinition = "text")" no atributo String, e para isso persistir como text, estou dropando a tabela já criada no banco, e minha dúvida é a seguinte:
Teria uma forma de eu não precisar ficar dropando a tabela no banco de dados, visto que em um sistema mais complexo, isso pode me causar problemas de consistência?
alter
na coluna do banco. Não sei se é a melhor maneira, mas funcionava. Isso porque tinha vezes que o Hibernate não atualizava todas tabelas rodando comupdate
ou deixava de criar alguma sequence.alter
também, queria é ficar despreocupado com o banco, pra que eu entre o minimo possível no banco. Mesmo porque tem cliente que não gosta muito quando pedimos acesso ao banco