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

ENUM no Mysql

Tem jeito de criar um campo com o tipo ENUM no MySQL mesmo ?

Ex: ENUM( 'ENTRADA' , 'SAIDA' )

4 respostas

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 tipoVARCHARcomo é 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.

solução!

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.