Tem jeito de criar um campo com o tipo ENUM no MySQL mesmo ?
Ex: ENUM( 'ENTRADA' , 'SAIDA' )
Tem jeito de criar um campo com o tipo ENUM no MySQL mesmo ?
Ex: ENUM( 'ENTRADA' , 'SAIDA' )
Fala Hideki,
Conseguimos representar um ENUM no banco através da anotação @ Enumerated
podemos armazenar ou a String
do enum ou a posição.
Seria isso que você está querendo?
Estou me referindo ao tipo ENUM no banco de dados.
por exemplo, por SQL esse codigo gera um tipo enum:
CREATE TABLE `pessoa` (
`id` INT,
`nome` VARCHAR(45),
`sexo` ENUM('Masculino', 'Feminino')
);
Queria saber se tem como criar um tipo ENUM('Masculino', 'Feminino')
no banco de dados pelo Hibernate.
E não do tipoVARCHAR
como é gerado no exercício com o @Enumerated
`sexo` VARCHAR(255),
Tem jeito de fazer dessa forma ?
Não sei se deixei claro minha dúvida.
Fala aí Hideki eu entendi sua duvida agora,
Creio que não tem uma forma direta para conseguir fazer esse mapeamento.
Mas conseguimos atingir esse objetivo da seguinte forma:
@Column(name="sexo", columnDefinition="enum('Masculino', 'Feminino')")
public String sexo;
Dessa forma no banco de dados será criado uma coluna sexo com o tipo de dados Enum. Porém dessa forma estamos tratando essa coluna no back-end como string
.
O atributo columnDefinition
serve para passarmos uma instrução SQL para a geração do comando de criação da column (DDL).
Veja se seria isso mesmo ?
Era isso mesmo. Vlw pela ajuda.